如何确定SQL 2005中数据库的排序规则?
时间:2020-03-06 14:31:49 来源:igfitidea点击:
例如,如果需要执行不区分大小写的搜索/替换,如何确定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()
以获得可用的排序规则列表以及它们的用途说明。