ホームページ >データベース >mysql チュートリアル >SQL で大文字と小文字を区別した文字列比較を実行するにはどうすればよいですか?

SQL で大文字と小文字を区別した文字列比較を実行するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-11 14:07:43553ブラウズ

How Can I Perform Case-Sensitive String Comparisons in SQL?

SQL で大文字と小文字を区別した文字列比較を実現する

標準 SQL 文字列比較では、大文字と小文字の違いが無視されることがよくあります。 SELECT * FROM table WHERE column = 'value' のようなクエリでは、大文字と小文字に関係なく一致するものが検索されます。

大文字と小文字の区別の強制

大文字と小文字を区別した比較を実行するには、COLLATE 句を使用します。 この句は、文字列の並べ替えと比較を制御する一連の規則である照合順序を指定します。 大文字と小文字を区別する照合順序を選択すると、大文字と小文字を区別した正確な照合が保証されます。

具体例

文字列属性を持つテーブルを想像してください:

<code>| attribute |
|---|---|
| abc |
| ABC |
| aBc |</code>

典型的なクエリ:

<code class="language-sql">SELECT * FROM table WHERE attribute = 'ABC';</code>

...大文字と小文字を区別しないマッチングのため、3 行すべてが返されます。

大文字と小文字の区別を強制するには、COLLATE:

を使用します。
<code class="language-sql">SELECT * FROM table WHERE attribute = 'ABC' COLLATE Latin1_General_CS_AS;</code>

Latin1_General_CS_AS は、大文字と小文字が区別される照合順序です。 この改訂されたクエリでは、attribute が正確に 'ABC' である行のみが返されます。

以上がSQL で大文字と小文字を区別した文字列比較を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。