MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのデータベースフィールドから特殊文字を削除するにはどうすればよいですか?


REPLACE()関数を使用して、データベースフィールドから特殊文字を削除できます。特殊文字は、二重引用符(““)、数字記号(#)、ドル記号($)、パーセント(%)などです。

データベースフィールドから特殊文字を削除するための構文は次のとおりです。

UPDATE yourTableName
SET yourColumnName=REPLACE(yourColumnName,’yourSpecialCharacters’,’’);

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table RemoveSpecialCharacterDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),
   -> PRIMARY Key(Id)
   -> );
Query OK, 0 rows affected (0.59 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。

mysql> insert into RemoveSpecialCharacterDemo(Name) values('$John');
Query OK, 1 row affected (0.29 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Carol');
Query OK, 1 row affected (0.16 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Mike');
Query OK, 1 row affected (0.17 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('$Dav$id$');
Query OK, 1 row affected (0.17 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Robert$');
Query OK, 1 row affected (0.30 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('J$ames$');
Query OK, 1 row affected (0.13 sec)
mysql> insert into RemoveSpecialCharacterDemo(Name) values('Max$well$');
Query OK, 1 row affected (0.27 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。

mysql> select *from RemoveSpecialCharacterDemo;

出力は次のとおりです。

+----+-----------+
| Id | Name      |
+----+-----------+
|  1 | $John     |
|  2 | $Carol    |
|  3 | $Mike     | 
|  4 | $Sam      |
|  5 | $Dav$id$  |
|  6 | Robert$   |
|  7 | J$ames$   |
|  8 | Max$well$ |
+----+-----------+
8 rows in set (0.00 sec)

REPLACE()を使用してデータベースフィールドから特殊文字を削除するクエリは次のとおりです。

mysql> update RemoveSpecialCharacterDemo
   -> set Name=replace(Name,'$','');
Query OK, 8 rows affected (0.22 sec)
Rows matched: 8 Changed: 8 Warnings: 0

テーブルレコードをもう一度確認してください。すべてのレコードを表示するためのクエリは次のとおりです。

mysql> select *from RemoveSpecialCharacterDemo;

出力は次のとおりです。

+----+---------+
| Id | Name    |
+----+---------+
|  1 | John    |
|  2 | Carol   |
|  3 | Mike    |
|  4 | Sam     |
|  5 | David   |
|  6 | Robert  |
|  7 | James   |
|  8 | Maxwell |
+----+---------+
8 rows in set (0.00 sec)

サンプル出力を見てください。特殊文字$はテーブルから完全に削除されています。


  1. MySQL REGEXPを使用して郵便番号フィールドから-XXXを削除するにはどうすればよいですか?

    これを実現する最も簡単な方法は、MySQL SUBSTRING_INDEX()関数を使用することです。まずテーブルを作成しましょう- mysql> create table DemoTable (    ZipCode varchar(50) ); Query OK, 0 rows affected (2.02 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('52533-909'); Query OK, 1 row affected (0.2

  2. 列の値から特殊文字を置き換えるMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable1574    -> (    -> StudentCode varchar(20)    -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1574 values('111_Carol'); Query OK, 1 row affected