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

特殊文字を含む列値のみを取得するMySQLクエリ?


これには、REGEXPを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable(SubjectCode varchar(100));
Query OK, 0 rows affected (0.89 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。レコードは、テキスト、数字、特殊文字で構成されています-

mysql> insert into DemoTable values('Java899@22');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('C#');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('~Python232');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('MongoDB%');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('C123456');
Query OK, 1 row affected (0.37 sec)

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

mysql> select *from DemoTable;

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

+-------------+
| SubjectCode |
+-------------+
| Java899@22  |
| C#          |
| ~Python232  |
| MongoDB%    |
| C123456    |
+-------------+
5 rows in set (0.00 sec)

以下は、特殊文字を含むすべての値を取得するためのクエリです-

mysql> select *from DemoTable where SubjectCode regexp '[^a-zA-Z0-9\&]';

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

+-------------+
| SubjectCode |
+-------------+
| Java899@22  |
| C#          |
| ~Python232  |
| MongoDB%    |
+-------------+
4 rows in set (0.00 sec)

  1. 列の値から特殊文字を置き換える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

  2. 対応する列の値からNO値のみのカウントを返すMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable1829      (      Name varchar(20),      isTopper ENUM('YES','NO')      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTabl