如何获取数据库中特定表的排序规则?数据库中的表是否可能具有不同的排序规则?
表级别的排序规则是基于每列的,因此可能有与数据库不同的排序规则。 如果未在列级别定义排序规则,则默认为数据库排序规则设置。
SQL Server 2000:
SELECT c.name,
c.collation
FROM SYSCOLUMNS c
WHERE [id] = OBJECT_ID('your_table_name')
SQL Server 2005+:
SELECT c.name,
c.collation_name
FROM sys.columns c
JOIN sys.tables t ON t.object_id = c.object_id
WHERE t.name = 'your_table_name'
表格不存在排序规则这样的东西。
数据库有默认排序规则(默认为服务器的排序规则)。
数据库的默认排序规则将应用于您添加到表中的任何列,除非您在列级别显式指定排序规则。
作为一个注意点。 SSMS 可以在编写表脚本时显示列排序规则。 您可以进入“工具”->“选项”。 在 SQL Server 对象资源管理器 -> 脚本编写下,有一个选项可以在编写表脚本时显示排序规则。 您可以暂时打开此功能并编写表脚本以查看表创建代码(包括列排序规则)。