ホームページ >バックエンド開発 >PHPチュートリアル >MySQL データベース クエリ ステートメント ソリューション
MySQL データベース クエリ ステートメント
binary A.username LIKE '%$keyword% '、これとバイナリを使用しないステートメント A.username LIKE '%$keyword% ' の違いは何ですか? ?
どちらが良いですか、説明を手伝ってください
-----解決策------ --
バイナリでは大文字と小文字が区別されます
------解決策------
1. 大文字と小文字を区別します
2. これにより、中国語に対して LIKE 操作を実行します。
------解決策---------
のようなバイナリの方が優れており、次の場合により正確に一致できます。この $kword に「a」と等しくなるように値を割り当てると、違いがわかります。
------解決策---------
これは単に大文字を大文字にするだけの問題ではありません。
一部の照合では、一部の文字または組み合わせが特別な意味を持ちます。
たとえば、latin1_german2_ci では、Ä = AE
つまり、「AE% 」のような x も 'Äxxx '
バイナリを使用すると、文字のバイナリ値に従って完全に検索されます。これは、文字セットがないことと同じです