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

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.23 sec)
mysql> insert into DemoTable values('12345-674');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values('89893-890');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('AAAAA-783');
Query OK, 1 row affected (0.25 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-----------+
| ZipCode   |
+-----------+
| 52533-909 |
| 12345-674 |
| 89893-890 |
| AAAAA-783 |
+-----------+
4 rows in set (0.00 sec)

以下は、substring_index()-

を使用して郵便番号から-XXXを削除するためのクエリです。
mysql> update DemoTable set ZipCode=substring_index(ZipCode, '-', 1);
Query OK, 4 rows affected (0.44 sec)
Rows matched : 4 Changed : 4 Warnings : 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+---------+
| ZipCode |
+---------+
| 52533   |
| 12345   |
| 89893   |
| AAAAA   |
+---------+
4 rows in set (0.00 sec)

  1. MySQLのテキストフィールドから数字のみを抽出するにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable (    Number text ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('7364746464,-'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values('-,890

  2. MySQLの別のフィールドからフィールドの値を導出する方法は?

    このために、ユーザー定義変数の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1868      (      Value int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1868 values(10); Query OK, 1 row affected (0