2010-02-21 55 views

回答

9

表級的整理是以每列爲基礎的,因此可以使排序規則與數據庫不同。如果排序規則未在列級別定義,則默認爲數據庫排序規則設置。

的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' 
+0

如果使用架構「INFORMATION_SCHEMA」而不是架構「sys」,則後一種情況可能會更簡單(無連接或對象ID)。您將獲得:'SELECT COLUMN_NAME,COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='your_table_name''' – 2017-11-14 09:57:34

+0

對不起,以上評論僅適用於SQL Server 2012及更高版本,但在編寫答案時顯然不可用,但我想大多數人會現在正在使用它,所以評論仍然有用。 – 2017-11-14 10:03:09

1

有沒有這樣的事情作爲一個表的排序規則。

數據庫具有默認排序規則(默認爲服務器排序規則)。

數據庫的默認排序規則將應用於添加到表中的任何列,而無需在列級別明確指定排序規則。

+1

如何我能得到這個列級排序規則? – 2010-02-21 06:12:00

相關問題