MySQL で大文字と小文字を区別した文字列比較を実現する
標準の MySQL 文字列比較では、通常、大文字と小文字が区別されません。 これは、正確な一致が必要な場合に問題となる可能性があります。幸いなことに、MySQL にはクエリで大文字と小文字の区別を強制する簡単な方法が用意されています。
MySQL での大文字と小文字を区別するクエリの実装
BINARY
キーワードは、大文字と小文字を区別した文字列比較を実行するための鍵です。 構文は次のとおりです:
<code class="language-sql">SELECT * FROM `table` WHERE BINARY `column` = 'value';</code>
例で説明してみましょう:
次のような構造のテーブルを想像してください:
<code class="language-sql">CREATE TABLE `test` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ); INSERT INTO `test` (`name`) VALUES ('John'), ('JOHN'), ('JoHn');</code>
BINARY
のないクエリは、次の 3 つのエントリすべてに一致します:
<code class="language-sql">SELECT * FROM `test` WHERE `name` = 'john';</code>
ただし、BINARY
を追加すると、クエリでは大文字と小文字が区別され、完全一致のみが返されます。
<code class="language-sql">SELECT * FROM `test` WHERE BINARY `name` = 'john';</code>
この手法により、大文字と小文字を区別した正確な比較が保証され、大文字と小文字を区別しない一致によって引き起こされる潜在的なエラーが排除されます。
以上がMySQL クエリで大文字と小文字を区別した文字列比較を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。