大文字と小文字を区別しない照合で個別のクエリを使用すると、大文字と小文字SQL_Latin1_General_CP1_CI_AS
を区別しない行の最初の出現が取得されます。
しかし、両方のケースが存在する場合は、小文字を取得したいと思います。
データに 1 つのケースしか存在しない場合、そのケースを取得したいと考えています。(大文字のケースの一意の出現は、結果セットで大文字のケースのままにする必要があります)
テーブル:
id | col1
----------
1 | Ab
2 | ab
3 | cd
4 | Cd
5 | Ef
クエリ:
SELECT DISTINCT [col1] COLLATE SQL_Latin1_General_CP1_CI_AS
FROM dbo.table
取得します:Ab, cd, Ef
しかし、私は取得したい: ab, cd, Ef
希望する結果を得ることができる照合はありますか?
最初のケースではなく、小文字を優先します。
そうでない場合は、サブセレクトを使用する必要があります。
- 大文字と小文字を区別する照合を使用して、すべての個別の値を選択します (奇妙なことに、自動的にソートされます。ほぼ私が望んでいたユースケースです!)
- 大文字と小文字を区別しない照合を使用して 1 から選択