2010-03-15 32 views

Trả lời

36

Nó cho thấy một "quốc hữu hóa" chuỗi unicode còn được gọi là hằng số.

http://support.microsoft.com/kb/239530

Khi giao dịch với các hằng chuỗi Unicode trong SQL Server bạn phải đặt trước tất cả các chuỗi với một chữ cái viết hoa N, như được ghi lại trong chủ đề SQL Server Books Online "Sử dụng Unicode dữ liệu" Unicode.

http://msdn.microsoft.com/en-us/library/aa276823%28SQL.80%29.aspx

ncharnvarchar

loại vật liệu được hoặc cố định chiều dài (nchar) hoặc chiều dài thay đổi (nvarchar) dữ liệu Unicode và sử dụng bộ ký tự UNICODE UCS-2 . dữ liệu ký tự Unicode

nchar(n)

cố định chiều dài của nhân vật n. n phải là một giá trị từ 1 đến 4.000. Kích thước bộ nhớ là hai lần n byte. Từ đồng nghĩa SQL-92 cho ncharchar quốc gia và ký tự quốc gia.

nvarchar(n)

Dữ liệu ký tự Unicode có độ dài thay đổi của n ký tự. n phải là một giá trị từ 1 đến 4.000. Kích thước bộ nhớ, tính theo byte, gấp hai lần số ký tự được nhập. Dữ liệu được nhập có thể dài 0 ký tự. Các từ đồng nghĩa SQL-92 cho nvarcharkhác nhau về ký tự quốc gia và ký tự quốc gia khác nhau.

+1

Điều đó thật thú vị. Tôi luôn tự hỏi tại sao 'N' lại là 'Unicode', và tại sao họ không chỉ sử dụng 'U' – JohnFx

+0

@JohnFx: Chỉ cần đoán, nhưng tôi sẽ đặt cược rằng đó là 'U' trong lịch sử có nghĩa là chưa ký. –

+6

Văn bản được quốc hữu hóa nằm trong tiêu chuẩn SQL92 trước khi tồn tại unicode. –

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