列的SQL WHERE子句全部大写

时间:2010-01-22 09:49:27

标签: sql sql-server

table_beatlesname列中包含以下数据。

  • 约翰
  • PAUL
  • 乔治
  • RINGO

在MS-SQL中,无论如何都要获得全部大写的项目?例如

SELECT * FROM table_beatles where name is (AllCaps SYNTAX HERE)

返回PAUL和RINGO。

3 个答案:

答案 0 :(得分:9)

如何执行此操作取决于使用的排序规则。如果您使用不区分大小写的排序规则,则要求SQL将大小写与大写相同。所以你可能需要这样做:

SELECT  *
FROM    table_beatles
WHERE   UPPER(name) COLLATE Latin1_General_CS_AS
             = name COLLATE Latin1_General_CS_AS

这会强制SQL使用区分大小写(CS)比较进行相等性检查。如果您已经具有区分大小写的排序规则,则可以省略其中的两个COLLATE部分。但是考虑到你问过这个问题,我猜你没有。

答案 1 :(得分:1)

您想要进行区分大小写的搜索。这里解释了许多方法:Case sensitive search in SQL Server queries

答案 2 :(得分:-2)

SELECT * FROM table_beatles where UPPER(name) = name
相关问题