我有一个数据库,我正在尝试执行以下查询:
SELECT COUNT(*) FROM [Resource] WHERE Name LIKE 'ChinaApp%'
SELECT COUNT(*) FROM [Resource] WHERE Name LIKE 'Chinaapp%'
这里返回了2个不同的计数:
我首先想到的是检查大小写敏感性。我在服务器级别、数据库级别和列级别上检查了排序规则:
服务器级别:Latin1_General_CI_AS
SELECT SERVERPROPERTY('COLLATION')
数据库级别:Danish_Norwegian_CI_AS
(注:此处的“CI”代表大小写不敏感)SELECT DATABASEPROPERTYEX('Data Warehouse', 'Collation')
Column level : Danish_Norwegian_CI_AS
SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Resource'
AND COLUMN_NAME = 'Name'
问题:
这个查询有什么问题?大小写敏感性已被禁用,为何计数不同?
aA
不是。我们曾经遇到一个问题,当插入数据时没有将其转换为小写,导致在数据库中bAar
与baAr
不同,但在代码中相同,尽管排序规则不区分大小写。 - Siewers