是否有 table 级排序规则?
Is there a table level collation?
在SQL服务器中,您可以在服务器和数据库级别设置默认排序规则。您还可以为特定字段设置排序规则,但我找不到任何关于 table 级别的默认排序规则的可靠文档。
我一直认为没有这样的东西,直到我查看了 SSMS 中 table 的扩展属性:
Collation
值是指默认数据库(或服务器)排序规则还是有一种方法可以为我不知道的 table 设置默认排序规则?
Database 之后的下一个最大粒度级别是 Column
Collations can be specified at the server, database, column, expression, and identifier levels [?].
您不能在 table 级别指定它。
(The GUI 向您展示了 Database 排序规则,可以是在该级别设置的,也可以是从服务器排序规则继承的。)
不,不存在 table 级排序规则。这是当您第一次 select "Extended Properties" 页面时 Management Studio 执行以获取此数据的查询:
exec sp_executesql N'SELECT
dtb.collation_name AS [Collation],
dtb.name AS [DatabaseName2]
FROM
master.sys.databases AS dtb
WHERE
(dtb.name=@_msparam_0)',N'@_msparam_0 nvarchar(4000)',@_msparam_0=N'...'
这只是数据库整理。它为什么选择在 table 级别上显示它的确切原因尚不清楚;可能有人懒得重用对话框。
在SQL服务器中,您可以在服务器和数据库级别设置默认排序规则。您还可以为特定字段设置排序规则,但我找不到任何关于 table 级别的默认排序规则的可靠文档。
我一直认为没有这样的东西,直到我查看了 SSMS 中 table 的扩展属性:
Collation
值是指默认数据库(或服务器)排序规则还是有一种方法可以为我不知道的 table 设置默认排序规则?
Database 之后的下一个最大粒度级别是 Column
Collations can be specified at the server, database, column, expression, and identifier levels [?].
您不能在 table 级别指定它。
(The GUI 向您展示了 Database 排序规则,可以是在该级别设置的,也可以是从服务器排序规则继承的。)
不,不存在 table 级排序规则。这是当您第一次 select "Extended Properties" 页面时 Management Studio 执行以获取此数据的查询:
exec sp_executesql N'SELECT
dtb.collation_name AS [Collation],
dtb.name AS [DatabaseName2]
FROM
master.sys.databases AS dtb
WHERE
(dtb.name=@_msparam_0)',N'@_msparam_0 nvarchar(4000)',@_msparam_0=N'...'
这只是数据库整理。它为什么选择在 table 级别上显示它的确切原因尚不清楚;可能有人懒得重用对话框。