データベースがあり、次のクエリを実行しようとしています。
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
SELECT DATABASEPROPERTYEX('Data Warehouse', 'Collation')
列レベル: Danish_Norwegian_CI_AS
SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Resource'
AND COLUMN_NAME = 'Name'
質問 :
クエリの何が問題になっていますか? 以前に証明されたように、大文字と小文字の区別は無効になっています。カウントが異なるのはなぜですか?