Как вы сравниваете строки так, чтобы сравнение было верным, только если случаи каждой из строк одинаковы. Например:
Select * from a_table where attribute = 'k'
... вернет строку с атрибутом 'K'. Я не хочу такого поведения.
sql
sql-server
amccormack
источник
источник
Ответы:
Сделал трюк.
источник
Latin1_General_CS_AS
- это спецификация сопоставления. Сличение относится к набору правил, которые определяют, как данные сортируются и сравниваются. Смотрите эту страницу для получения дополнительной информации.Вы также можете преобразовать этот атрибут с учетом регистра, используя этот синтаксис:
Теперь ваш поиск будет чувствителен к регистру .
Если вы хотите сделать этот столбец снова нечувствительным к регистру , используйте
источник
Вы можете легко конвертировать столбцы в VARBINARY (максимальная длина), длина должна быть максимальной, которую вы ожидаете, чтобы избежать дефектного сравнения, достаточно установить длину в качестве длины столбца. Обрезать столбец поможет вам сравнить реальное значение, за исключением того, что пространство имеет значение и значение в столбцах таблицы. Это простой пример, и, как вы можете видеть, я обрезаю значение столбцов, а затем преобразую и сравниваю .:
Надеюсь, это поможет.
источник
В качестве другой альтернативы вы можете использовать HASHBYTES, что-то вроде этого:
источник
Вы можете определить
attribute
какBINARY
или использоватьINSTR
илиSTRCMP
для выполнения поиска.источник
INSTR
иSTRCMP
функций.