为什么使用UPPER或LOWER用于SQL Server过程参数?

时间:2016-12-07 20:54:03

标签: sql-server

使用SQL Server 2012.我注意到文本的WHERE子句不区分大小写。那么为什么有些人会在程序中使用以下格式?

 WHERE UPPER(fieldName) = UPPER(@fieldName)

这是否与使用其他编程语言从另一个程序调用该过程有关?或者这是独家交易SQL吗?

我可以在我的条款中写下

WHERE fieldname = 'UNITED STATES'

它将返回与美国,美国,uNiteD STateS等的所有记录。

1 个答案:

答案 0 :(得分:2)

它可能区分大小写......取决于整理。

MSDN Documentation on Collation (one of many)

您可能会遇到整理和差异"当您从不同的服务器加入表,或使用其他语言处理数据库时。绝对值得一读