2017-02-23 83 views
-1

У меня есть следующий код: sqlSQL: сравнение строк

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

И печатает equals. Почему это такое поведение, когда строки не равны?

+0

Как мне известно, сравнение строк не чувствительны к регистру в SQL. – Praveen

+3

Вам нужно узнать о сортировке строк *. Очевидно, что значение по умолчанию для используемой базы данных не зависит от регистра. –

+1

Возможно, вы забыли добавить тег «SQL Server» к этому вопросу, так как это «CASE INSENSITIVE», который может быть неверным с другими, как «PostgreSQL» или «Oracle» –

ответ

0

Использование: Параметры сортировки

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

 Смежные вопросы

  • Нет связанных вопросов^_^