2016-12-07 2 views
0

Использование SQL Server 2012. Я заметил, что статьи WHERE для текста не чувствительны к регистру. Итак, почему некоторые люди используют следующий формат в процедуре?Зачем использовать параметры процедуры UPPER или LOWER для SQL Server?

WHERE UPPER(fieldName) = UPPER(@fieldName) 

Связано ли это с вызовом процедуры из другой программы с использованием другого языка программирования? Или это эксклюзивно для транзакции SQL?

Я могу написать в моей статье

WHERE fieldname = 'UNITED STATES' 

и он будет возвращать все записи либо с Соединенными Штатами, Соединенные Штаты Америки, США и т.д.

+7

Это может быть чувствительным к регистру ... зависит от сортировки. https://msdn.microsoft.com/en-us/library/ms144250(v=sql.105).aspx – scsimon

+1

О, я вижу. Прохладный спасибо за ответ и ссылку. – gravityclown

+0

Нет проблем. Вероятно, вы столкнетесь с различиями в сопоставлении, когда вы присоединяетесь к таблицам с разных серверов или занимаетесь БД на других языках. Определенно стоит прочитать. Cheers – scsimon

ответ

2

Это может быть чувствителен к регистру ... зависит от сортировка.

MSDN Documentation on Collation (one of many)

Вы, вероятно, столкнетесь с сортировки «различия», когда вы присоединяетесь таблицы с разных серверов, или работы с БД на других языках. Определенно стоит прочитать на

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