2017-02-23 6 views
-1

私は、次のsqlのコードがあります。SQL:文字列比較

if ('aaa' = 'aAa') 
    print 'equals' 
else 
    print 'not equals' 

をそしてそれは、equalsを印刷します。なぜ文字列が等しくない場合のこの動作ですか?

+0

、文字列の比較は、SQLで大文字と小文字の区別はありません。 – Praveen

+3

文字列*の照合について学ぶ必要があります。明らかに、使用しているデータベースのデフォルトは大文字と小文字を区別しません。 –

+1

この質問に 'SQL Server'タグを追加するのを忘れてしまったかもしれません。' CASE INSENSITIVE'は 'PostgreSQL'や 'Oracle'のように他のものには当てはまらないかもしれません。 –

答えて

0

使用照合順序:私の知識を1として

IF 'aaa' COLLATE Latin1_General_CS_AS = 'aAa' COLLATE Latin1_General_CS_AS 
print 'equals' 
else 
print 'not equals'