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

列に数値のみを含む値を削除するMySQLクエリ


このために、REGEXPを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> ClientCode varchar(100)
   -> );
Query OK, 0 rows affected (0.56 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('Chris902');
Query OK, 1 row affected (0.21 sec)

mysql> insert into DemoTable values('Robert_');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values('903');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable values('123_David');
Query OK, 1 row affected (0.21 sec)

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

mysql> select *from DemoTable;

出力

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

+------------+
| ClientCode |
+------------+
| Chris902   |
| Robert_    |
| 903        |
| 123_David  |
+------------+
4 rows in set (0.00 sec)

以下は、ステートメント「%[^ 0-9]%」のようなSQLへのクエリが機能しない-

mysql> select *from DemoTable where ClientCode REGEXP '.*[^0-9].*';

出力

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

+------------+
| ClientCode |
+------------+
| Chris902   |
| Robert_    |
| 123_David  |
+------------+
3 rows in set (0.04 sec)

  1. MySQLクエリの列にユーザー定義の値を追加しますか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1847      (      GameStatus ENUM('PENDING','COMPLETED','CANCELLED')      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1847

  2. 数値を含むVARCHAR文字列のハイフンの後の数値を削除するMySQLクエリ

    これには、SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2040    -> (    -> StudentCode varchar(20)    -> ); Query OK, 0 rows affected (0.85 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2040 values('John-232'