À, nhưng nó là có thể vì có là đối chiếu xử lý điều này một cách tự nhiên (thực tế là một số, nhưng tất cả trong cùng một "họ"): Hungarian_Technical_ * (tốt, trừ các biến thể Phân biệt chữ hoa chữ thường (CS) và Nhị phân (BIN / BIN2)). Tất nhiên, tôi vẫn không chắc đây là một lựa chọn tốt cho PK, nhưng không có lý do gì nó không thể là UNIQUE INDEX
.
SELECT tmp.*,
IIF(tmp.[First] = tmp.[Second] COLLATE Hungarian_Technical_CI_AI,
N'Equal',
N'NOT EQUAL') AS [Result]
FROM (
SELECT N'weiß', N'Weiß', N'Equal'
UNION ALL
SELECT N'weiss', N'Weiss', N'Equal'
UNION ALL
SELECT N'weiß', N'weiss', N'NOT Equal'
UNION ALL
SELECT N'Weiß', N'Weiss', N'NOT Equal'
UNION ALL
SELECT N'weiß', N'Weiss', N'NOT Equal'
) tmp ([First], [Second], [Ideal]);
Kết quả:
First Second Ideal Result
weiß Weiß Equal Equal
weiss Weiss Equal Equal
weiß weiss NOT Equal NOT EQUAL
Weiß Weiss NOT Equal NOT EQUAL
weiß Weiss NOT Equal NOT EQUAL
Có tổng số 24 đối chiếu sẽ hoạt động theo cách này. Bạn có thể tìm thấy chúng qua:
SELECT hc.*
FROM sys.fn_HelpCollations() hc
WHERE hc.name LIKE N'Hungarian[_]Technical%'
AND hc.name LIKE N'%[_]CI%'
ORDER BY hc.name;
Đó là:
Nếu phiên bản 100
Các đối chiếu có sẵn (nghĩa là:bạn đang sử dụng SQL Server 2008 hoặc mới hơn), sau đó sử dụng các đối tượng đó chứ không phải các đối chiếu không có số phiên bản trong tên của chúng.
CHỈNH SỬA:
Tôi đã tìm thấy một số thông tin bổ sung về đối chiếu "Kỹ thuật Hungary" có thể được quan tâm:
-
MySQL:Đối chiếu tiếng Hungary - Đây là kho lưu trữ của cuộc thảo luận listerv của một số nhà phát triển MySQL đang cố gắng tìm ra các chi tiết cụ thể về cách triển khai đối chiếu. Rõ ràng nó có một số quy tắc phức tạp, ít nhất một phần do cần phải đánh đồng nhiều ký tự thành một ký tự duy nhất để sắp xếp (tìm phần "3. Quy tắc digraph / trigraph đặc biệt"). Điều này có thể gây ra một số hành vi không mong muốn. Các kết hợp chữ cái cụ thể được lưu ý trong phần đó, vì vậy ít nhất nó giúp dễ dàng hơn trong việc thiết lập trường hợp kiểm tra để giúp xác định xem các quy tắc sắp xếp có mất hiệu lực bằng cách sử dụng đối chiếu này hay không.
-
Tại sao có rất nhiều (106) ảnh ghép tiếng Hungary? - Đây là một cuộc thảo luận trên social.msdn có một số thông tin thú vị. Có một bình luận trong đó của Erland Sommarsko, trong đó anh ấy nói:
Với cuộc thảo luận từ các nhà phát triển MySQL về các quy tắc phức tạp, những kết quả kiểm tra đó dường như không đáng ngạc nhiên.
Vì vậy, cả hai mục này có lẽ nên được tính vào việc quyết định có nên đi theo con đường dễ dàng hay không là chỉ cần đặt trường NVARCHAR thành một trong những đối chiếu Kỹ thuật Hungary này hoặc theo đề xuất của @ GarethD về cột được tính toán.
Để biết thêm thông tin về cách làm việc với chuỗi và ảnh ghép, vui lòng truy cập: Thông tin về ảnh ghép