如何确定SQL 2005中数据库的排序规则?

问题描述:

如何确定SQL 2005中数据库的排序规则,例如,如果您需要执行不区分大小写的搜索/替换?如何确定SQL 2005中数据库的排序规则?

使用下列SQL确定数据库的排序规则:

SELECT DATABASEPROPERTYEX('{database name}', 'Collation') SQLCollation; 

记住,各列可以覆盖数据库排序规则:

SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 

如果你想要做一个区分大小写的搜索并且不能依赖数据库的排序规则,您可以随时针对您感兴趣的查询专门请求它。例如:

SELECT TOP 1 FName, * 
FROM People 
WHERE FName LIKE '%mich%' COLLATE Latin1_General_CI_AI 

我通常会遇到相反的问题,我希望区分大小写,但没有在数据库的排序规则中使用,所以我发现自己在查询中使用了Latin1_General_BIN排序规则。如果您还不知道,则可以执行以下操作:

SELECT 
FROM ::fn_helpcollations() 

了解可用排序规则以及它们的用途说明。

选择数据库并运行以下命令。

sp_helpsort