MySQLで列の値に文字列または数字が含まれていることを確認するにはどうすればよいですか?
文字列値のみが必要な場合は、次の構文を使用します-
select *from yourTableName where yourColumnName NOT regexp '^[0-9]+$';
数字のみが必要な場合は、次の構文を使用します-
select *from yourTableName where yourColumnName regexp '^[0-9]+$';
まずテーブルを作成しましょう-
mysql> create table DemoTable( Id varchar(100) ); Query OK, 0 rows affected (0.49 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('1000'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('Carol_Smith'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('2000'); Query OK, 1 row affected (0.10 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------------+ | Id | +-------------+ | 1000 | | John | | Carol_Smith | | 2000 | +-------------+ 4 rows in set (0.00 sec)
ケース1 −以下は、文字列値のみを取得するためのクエリです-
mysql> select *from DemoTable where Id NOT regexp '^[0-9]+$';
これにより、文字列列の値のみを表示する次の出力が生成されます-
+-------------+ | Id | +-------------+ | John | | Carol_Smith | +-------------+ 2 rows in set (0.00 sec)
ケース2 −以下は、数字のみを取得するためのクエリです-
mysql> select *from DemoTable where Id regexp '^[0-9]+$';
これにより、数字列の値のみを表示する次の出力が生成されます-
+------+ | Id | +------+ | 1000 | | 2000 | +------+ 2 rows in set (0.00 sec)
-
列の文字列のいずれかにMySQLの特定の文字列が含まれているかどうかを確認するにはどうすればよいですか?
このためには、LIKE演算子とともにCONCAT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable ( Name varchar(40) ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.33 sec) mysql> insert in
-
MySQL正規表現:文字列内の数字を\ dと一致させる方法は?
文字列内の数字を一致させるために、MySQLの構文は次のとおりです- select * from yourTab leName where yourColumnName regexp '[0-9]'; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable1841 ( Code varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマン