Giống như:
chèn vào bảng (col) giá trị (N'multilingual unicode chuỗi)Tôi có sử dụng tiền tố N trong câu lệnh "chèn vào" cho unicode không?
Tôi đang sử dụng SQL Server 2008 và tôi đã sử dụng NVARCHAR là kiểu dữ liệu cột.
Giống như:
chèn vào bảng (col) giá trị (N'multilingual unicode chuỗi)Tôi có sử dụng tiền tố N trong câu lệnh "chèn vào" cho unicode không?
Tôi đang sử dụng SQL Server 2008 và tôi đã sử dụng NVARCHAR là kiểu dữ liệu cột.
Bạn chỉ cần cú pháp N '' nếu chuỗi chứa các ký tự không nằm trong trang mã mặc định. "Thực hành tốt nhất" là có N '' bất cứ khi nào bạn chèn vào cột nvarchar hoặc ntext.
Nên sử dụng vì mục đích tương thích.
Có, bạn thực hiện nếu bạn có các ký tự unicode trong chuỗi.
Từ sách trực tuyến (http://msdn.microsoft.com/en-us/library/ms191313.aspx) ...
"hằng chuỗi Unicode xuất hiện trong mã thực thi trên máy chủ, chẳng hạn như trong thủ tục lưu trữ và triggers, phải được đi trước bởi N. bức thư vốn này là đúng sự thật ngay cả khi cột được tham chiếu đã được định nghĩa là Unicode.Nếu không có tiền tố N, thì chuỗi đó sẽ được chuyển đổi thành trang mã mặc định của cơ sở dữ liệu, điều này có thể không nhận ra các ký tự nhất định. bắt nguồn từ máy chủ và các máy chủ được gửi từ máy khách. "
Thực tiễn tốt nhất là sử dụng parameterisation trong trường hợp đó bạn không cần tiền tố N.
Phụ thuộc vào ngữ cảnh. Nếu đây là một kịch bản TSQL thuần túy thì các tham số sẽ không giúp ích gì khi bạn vẫn cần sử dụng tiền tố 'N' khi gán các giá trị cho các tham số. –
Nếu mã của tôi là UTF-8, tôi có phải sử dụng tiền tố N không? Cảm ơn! –