如何为同一个单词的不同拼写数构建SQL Server查询?
例如,如果在列中有这些元素:
"Bicycle",
"BICycle",
"BiCYCLE",
"Bicycle"
我应该得到3分。
答案 0 :(得分:4)
如果您使用区分大小写的排序规则,则可以执行以下操作:
select lower(col), count(distinct col)
from t
group by lower(col);
如果列的排序规则不区分大小写,则可以在查询中更改它:
select lower(col), count(distinct col collate Latin1_General_CS_AS)
from t
group by lower(col);
答案 1 :(得分:0)
可以通过更改排序规则,默认情况下不区分大小写,因此您可以使用以下代码执行此操作
SELECT <column_name> COLLATE SQL_Latin1_General_CP1_CS_AS
FROM <table_name>
GROUP BY <column_name>
答案 2 :(得分:0)
CAST作为区分大小写的排序规则:
select count(distinct cast([column] COLLATE SQL_Latin1_General_CP850_BIN2 as nvarchar(50)))
FROM [table]