TSQL在忽略大小写/大写的同时比较字符串/ Varchars?

buz*_*jay 0 sql t-sql sql-server collation sql-server-2008

我正在进行查询,以便可以将从文件名读取的单词与代码中已预定义的另一个单词进行比较,并为其分配一个数值。

但是,我遇到的问题是试图忽略名称的大小写,因为名称是从文件中读取的,大小写可能会更改,然后与我设置的预定义值不匹配。除了将所有可能的值放入案例中之外,是否有任何简单的方法可以忽略大小写?

代码嗅探:

NumberVal = CASE   
              WHEN Name = 'Bond' OR Name = 'BOND' OR Name = 'bond' THEN 16   
            END
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 5

SQL Server默认情况下会忽略大小写,因此有人更改了您不知道的设置

如果现在区分大小写,请使用UPPER并忘记排序规则

CASE   
  WHEN UPPER(Name) = 'BOND' THEN 16   
 END
Run Code Online (Sandbox Code Playgroud)