繁体   English   中英

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

[英]How do I determine the collation of a database in 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM