如何获取数据库中特定表的排序规则?

问题描述 投票:0回答:3

如何获取数据库中特定表的排序规则?数据库中的表是否可能具有不同的排序规则?

sql sql-server collation
3个回答
43
投票

表级别的排序规则是基于每列的,因此可能有与数据库不同的排序规则。 如果未在列级别定义排序规则,则默认为数据库排序规则设置。

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'

3
投票

表格不存在排序规则这样的东西。

数据库有默认排序规则(默认为服务器的排序规则)。

数据库的默认排序规则将应用于您添加到表中的任何列,除非您在列级别显式指定排序规则。


1
投票

作为一个注意点。 SSMS 可以在编写表脚本时显示列排序规则。 您可以进入“工具”->“选项”。 在 SQL Server 对象资源管理器 -> 脚本编写下,有一个选项可以在编写表脚本时显示排序规则。 您可以暂时打开此功能并编写表脚本以查看表创建代码(包括列排序规则)。

© www.soinside.com 2019 - 2024. All rights reserved.