2010-02-21 20 views

Trả lời

9

Ghép ở cấp bảng theo từng cột, do đó có thể có đối chiếu khác với cơ sở dữ liệu. Nếu collation không được định nghĩa ở cấp độ cột, nó sẽ mặc định cho thiết lập collation cơ sở dữ liệu.

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

Trường hợp thứ hai có thể đơn giản hơn (không có tham gia hoặc ID đối tượng) nếu bạn sử dụng lược đồ 'INFORMATION_SCHEMA' thay vì lược đồ' sys'. Bạn sẽ nhận được: 'SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'your_table_name'' –

+0

Xin lỗi, ở trên bình luận chỉ áp dụng cho SQL Server 2012 và sau đó rõ ràng là không có sẵn khi câu trả lời được viết, nhưng tôi đoán hầu hết mọi người sẽ đang sử dụng nó ngay bây giờ, vì vậy nhận xét vẫn có thể hữu ích. –

1

Không có thứ gì như đối chiếu cho bảng.

Cơ sở dữ liệu có collation mặc định (mặc định là collation cho máy chủ).

Việc đối chiếu mặc định cho cơ sở dữ liệu sẽ được áp dụng cho bất kỳ cột nào bạn thêm vào bảng, KHÔNG BAO GIỜ bạn chỉ định rõ ràng một đối chiếu ở cấp cột.

+1

Làm thế nào tôi có thể nhận được mức độ cột này đối chiếu? –

Các vấn đề liên quan