SQL Server 2005: что означает буква N для (... WHERE Name LIKE N'F% ')

Так же, как и заявленный предмет:

что делает буква N в SQL следующим образом:

SELECT P.ProductID,
       S.SupplierID,
       S.CompanyName
FROM Suppliers AS S JOIN Products AS P
     ON (S.SupplierID = P.SupplierID)
WHERE P.UnitPrice > $10
  AND S.CompanyName LIKE N'F%' -- what is the N for?

Ответы

Ответ 1

'N' обозначает символы unicode.

То, что это N делает, указывает SQL Server, что данные, которые передаются, являются uni-code, а не символьными данными. При использовании только латинского набора символов это действительно не нужно. Однако, если использовать символы, которые не являются частью базового набора символов латинского алфавита, необходимо, чтобы N был необходим, чтобы SQL знал, что данные предоставляются, это уникод-данные.

Исходный источник - http://itknowledgeexchange.techtarget.com/sql-server/whats-up-with-the-n-in-front-of-string-values/

Ответ 2

N указывает, что строка кодируется в Юникоде.