使用BETWEEN的SQL区分大小写的查询

时间:2017-06-08 18:33:30

标签: sql sql-server

在SQLServer 2012上,为什么查询:

SELECT 
   Firstname 
FROM 
   dbo.CWIndividualGivers 
WHERE 
   FirstName BETWEEN 'r' COLLATE SQL_Latin1_General_CP1_CS_AS AND 'rzzz' COLLATE SQL_Latin1_General_CP1_CS_AS

返回像露丝'和' Renee'?

我希望排除第一个位置带有大写字母的名字。 BETWEEN如何在区分大小写的排序规则中工作?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

Select LEFT(Firstname, 100)
FROM dbo.CWIndividualGivers
WHERE FirstName like 'r%' COLLATE SQL_Latin1_General_CP1_CS_AS

注意: 100只是一个数字,无论数据集中的最长名称是多长,都可以替换它。