在 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
返回像"露丝"和"蕾妮"这样的值?
我希望首先排除带有大写字母的名称。 BETWEEN 在区分大小写的排序规则中如何工作?
您可以执行以下操作:
Select LEFT(Firstname, 100)
FROM dbo.CWIndividualGivers
WHERE FirstName like 'r%' COLLATE SQL_Latin1_General_CP1_CS_AS
注意:100 只是一个数字,您可以将其替换为数据集中最长名称的长度。