MySQL で Like の大文字と小文字を区別するようにする
C、C++、Java、MySQL などのプログラミング言語のキーワードは便利です。それらは予約語と呼ばれます。これらの予約された単語には、その意味と機能があります。
これらのキーワードがステートメントで使用されると、事前定義された動作に従って動作します。
Select
、Delete
、および Where
は、予約済みキーワードの例です。これらの単語は、実装前に決定されたプロトコルに従って、ステートメントで適切に表示および動作します。
テーブルと変数の名前は、すでに予約されているため、キーワードと同じにすることはできません。そして、プログラミングの実践でこれらのキーワードをプログラムで使用することはできません。
Like
キーワードを MySQL で大文字と小文字を区別するように強制する
MySQL の like
キーワードは、where
キーワードと一緒に使用されます。その機能は、特定のパターンに一致することです。
これらのパターンは、1つまたは複数のワイルドカード文字を使用して識別されます。
プログラミング言語では、ワイルドカード文字はその意味を保持し、パターンの識別に使用されるシンボルです。MySQL で使用されるワイルドカードには 2つのタイプがあります。
- パーセント記号-
%
は、これがlike
キーワードで使用される場合、0、1、または複数の文字の選択を示します。 - 下線記号-
_
記号は、任意の単語での単一文字の存在を表します。
これらの記号を使用して組み合わせを作成し、like
句内で組み合わせることができます。
LIKE
キーワードの構文:
SELECT * FROM table_name WHERE column_name LIKE 'ABC_';
SELECT * FROM table_name WHERE column_name LIKE 'T_ST%';
上記の構文では、like
キーワードとワイルドカード文字を使用して、テーブルから定義された値のセットを検索します。
like
操作の特性は、単語の大文字小文字を無視して、一致するものを見つけようとすることです。
like
を使用してケース感度の比較を行う方法:
ユーザーが where
句で大文字と小文字を区別する完全一致を比較する必要がある場合は、LIKE BINARY
キーワードを使用します。
MySQL ステートメントを実行するためのクエリ:
select * from stu;
+------+---------+------------+
| id | Name | DOB |
+------+---------+------------+
| 111 | Amit | 1970-01-08 |
| 112 | Shushma | 0000-00-00 |
| 113 | Rami | 2020-09-08 |
| 114 | Sam | 2020-09-08 |
| 115 | tonny | 2020-09-08 |
+------+---------+------------+
上記の表を参照して、like binary
キーワードを使用した以下の 2つのクエリを理解してください。
Select * from stu where name LIKE BINARY 's%';
Select * from stu where name LIKE BINARY '%mi_';
上記のクエリは、列名のすべての出現箇所を一覧表示し、その間に文字 mi
が含まれています。BINARY
キーワードは、クエリで大文字と小文字を区別する一致検索として機能します。
%
および _
の特殊文字は、stu
テーブルに設定されたすべての結果と一致するものを見つける際に特別な意味を持ちます。
最初のクエリは、select
クエリの結果、name
列が小文字の s
で始まるすべての行になることを示しています。したがって、最初のクエリでは出力がありません。
同様に、%mi_
文字を使用してクエリを再試行すると、結果が 1つだけ表示されます。これは、以下のスクリーンショットに示されています。
MySQL での上記のクエリの実際の実行スクリーンショットを以下に示します。
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn