2016-07-01 49 views
0

私はそのクエリーが大文字と小文字を区別するかどうかを知りたいだけです。これらのクエストは同じですか?MariaDB/MySQLクエリーでは大文字と小文字が区別されますか?

SELECT * FROM Users WHERE login="john"; 
SELECT * FROM Users WHERE login="John"; 
SELECT * FROM Users WHERE login="JOHN"; 
SELECT * FROM Users WHERE login="jOHn"; 

私は私のコンソール上でそれを試してみましたし、それらのすべてが働いていたが、私は休止状態または何か他のものを使用する場合はそのことを確認したいです。

ありがとうございます! the MySQL docsによると

+0

私たちが知ることができる方法があれば。 – Strawberry

答えて

1

デフォルトの文字セットと照合順序はlatin1のであり、 latin1_swedish_ciので、非バイナリ文字列の比較は、あなたの質問の後半部分に関しては、デフォルト

によってケース 小文字を区別しません - this SO answerでは、サーチャーの大文字と小文字を区別するように設定する方法が示されています。

+0

以下のような機能を使用するとよいでしょう:SELECT * FROM users WHERE login = LOWER( "john")? – Ommadawn

+0

新しいバージョンのMySQLでは、デフォルトは 'utf8'と' utf8_general_ci'に変更されました。どちらの場合も、 '_ci'は"大文字と小文字の区別なし "を意味します。クエリでは、これは 'login'カラムに適用されます。 –

+0

照合順序が正しく設定されている場合は、 'LOWER()'を気にしないでください。 –

0

MariaDB docsからは、OSによって異なります。 Windowsの場合、大文字と小文字は区別されません。 Linuxの場合、データベース、テーブル、テーブルエイリアス、トリガ名はシステムの大文字と小文字の区別がありますが、インデックス、カラム、カラムエイリアス、ストアドルーチン名、イベント名は大文字と小文字を区別しません。

関連する問題