ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。