2009-04-30 21 views

Trả lời

16

ALTER TABLE ALTER COLUMN cho phép thay đổi collation cho một cột duy nhất:

alter table Foo alter column Bar ntext collate Latin1_General_CS_AS 

(đối chiếu có thể không chính xác)

+0

Một lưu ý về đối chiếu: Tôi đã phải viết quá nhiều đối chiếu báo cáo như là kết quả của một bảng mã nguồn là Latin1_General_CS_AS và một là Latin1_General_CI_AI. Điều này thực sự chỉ áp dụng nếu bạn sử dụng SSIS để di chuyển dữ liệu xung quanh, hoặc ít nhất, đó là điểm duy nhất mà tôi từng gặp sự cố. – Eric

+0

http://www.codefari.com/2015/09/case-sensitive-search -on-column-in-sql.html theo liên kết để biết thêm về tìm kiếm trường hợp nhạy cảm – Singh

2

Tôi không biết cụ thể SQL Server, nhưng thực tiễn DBMS được chấp nhận chung (để tương thích) sẽ là:

  • đặt chèn và cập nhật trình kích hoạt trên bảng để chúng được lưu trữ trong trường hợp bạn muốn.
  • sử dụng các cột được tạo để lưu trữ một bản sao khác của cột trong trường hợp bạn muốn.

Có thể có cách nhanh hơn để thực hiện trong SQL Server nhưng bạn nên cẩn thận với các giải pháp đẩy tải công việc vào câu lệnh SELECT - chúng không bao giờ mở rộng tốt. Nó gần như luôn luôn tốt hơn làm điều này như là một phần của chèn và cập nhật vì đó là thời gian duy nhất thay đổi dữ liệu - làm theo cách đó giảm thiểu khối lượng công việc phụ.

0

Câu trả lời cho câu hỏi của bạn là có, đã được nêu ở trên bởi Anton Gogolev.

bổ sung Thông tin:

Đây là một cách bạn có thể tìm thấy danh sách các Collation hỗ trợ bởi SQL Server của bạn dựa trên phiên bản của nó.

select name, 
     COLLATIONPROPERTY(name, 'CodePage') as Code_Page, 
     description 
from sys.fn_HelpCollations() 

what is the meaning of Kanatype Sensitive KS and width sensitive

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