谢谢楼主的选题,让我也来学习一下SQL Server的排序规则选择和概念。
Windows 排序规则是为 SQL Server 定义的排序规则,用以支持 Microsoft Windows® 区域设置。通过为 SQL Server 指定 Windows 排序规则,并为计算机指定相关联的 Windows 区域设置,SQL Server 实例便与计算机上运行的应用程序使用相同的代码页及排序和比较规则。
Windows 区域设置的数量比 SQL Server Windows 排序规则多
Windows 排序规则是为 SQL Server 定义的排序规则,用以支持 Microsoft Windows® 区域设置。通过为 SQL Server 指定 Windows 排序规则,并为计算机指定相关联的 Windows 区域设置,SQL Server 实例便与计算机上运行的应用程序使用相同的代码页及排序和比较规则。
Windows 区域设置的数量比 SQL Server Windows 排序规则多
_CI_AI 不区分大小写、不区分重音、不区分假名类型、不区分宽度
_CI_AI_WS 不区分大小写、不区分重音、不区分假名类型、区分宽度
_CI_AI_KS 不区分大小写、不区分重音、区分假名类型、不区分宽度
_CI_AI_KS_WS 不区分大小写、不区分重音、区分假名类型、区分宽度
_CI_AS 不区分大小写、区分重音、不区分假名类型、不区分宽度
_CI_AS_WS 不区分大小写、区分重音、 不区分假名类型、区分宽度
_CI_AS_KS 不区分大小写、区分重音、区分假名类型、不区分宽度
_CI_AS_KS_WS 不区分大小写、区分重音、区分假名类型、区分宽度
_CS_AI 区分大小写、不区分重音、 不区分假名类型、不区分宽度
_CS_AI_WS 区分大小写、不区分重音、不区分假名类型、区分宽度
_CS_AI_KS 区分大小写、不区分重音、区分假名类型、不区分宽度
_CS_AI_KS_WS 区分大小写、不区分重音、区分假名类型、区分宽度
_CS_AS 区分大小写、区分重音、不区分假名类型、不区分宽度
_CS_AS_WS 区分大小写、区分重音、不区分假名类型、区分宽度
_CS_AS_KS 区分大小写、区分重音、区分假名类型、不区分宽度
_CS_AS_KS_WS 区分大小写、区分重音、区分假名类型、区分宽度
COLLATE Czech_CI_AI
order by 某字段 collate Chinese_PRC_CS_AS_KS_WS
order by 某字段 COLLATE Chinese_PRC_Stroke_ci_as
Chinese_PRC_Stroke 按汉字笔画排序
from T
where field collate chinese_prc_CS_Ai = 'AaBb'
go
insert test values('aabb')
go
select * from Test where a collate chinese_prc_CS_Ai ='AaBb'
select * from test where a='AaBb'