SQL Server:计算相同单词的不同拼写数 - 区分大小写

时间:2017-09-29 11:03:15

标签: sql sql-server count

如何为同一个单词的不同拼写数构建SQL Server查询?

例如,如果在列中有这些元素:

"Bicycle", 
"BICycle", 
"BiCYCLE", 
"Bicycle"

我应该得到3分。

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]