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

MySQL REGEXP演算子でBINARYキーワードが使用されるのはなぜですか?


BINARYキーワードを使用して、REGEXPが文字列をバイナリ文字列として一致するように強制します。ここで違いがわかります。

まずテーブルを作成しましょう-

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

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。ここにはさまざまなケースの名前があります-

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

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

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

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

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

mysql> select *from DemoTable;

出力

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

+------+
| Name |
+------+
| John |
| JOHN |
| john |
| JOhn |
+------+
4 rows in set (0.00 sec)

これは、BINARY-

を使用したREGEXP演算子とREGEXP演算子の違いを学習するためのクエリです。
mysql> select Name REGEXP 'JOHN' AS ResultWithOutBinary, Name REGEXP BINARY 'JOHN' AS ResultWithBinary from DemoTable;

出力

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

+---------------------+------------------+
| ResultWithOutBinary | ResultWithBinary |
+---------------------+------------------+
| 1                   | 0                |
| 1                   | 1                |
| 1                   | 0                |
| 1                   | 0                |
+---------------------+------------------+
4 rows in set (0.04 sec)

  1. MySQLで数字と混合された文字列で並べ替えますか?

    場合によってはORDERBYを使用します。テーブルを作成しましょう- mysql> create table demo18 −> ( −> value text −> ); Query OK, 0 rows affected (1.18 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo18 values('John Smith'); Query OK, 1 row affected (0.06 sec) mysql> inse

  2. 動的配列を使用したMySQLLIKEクエリ?

    動的配列を使用してLIKEクエリを実装するための構文は、次のとおりです- 例 select *from yourTableName    where yourColumnName2 like "%yourValue%"    order by yourColumnName1 asc    limit yourLimitValue; テーブルを作成しましょう- 例 mysql> create table demo74    -> (    -> user_i