SQL Server 2005:字母N为什么(... WHERE Name LIKE N'F%')

kac*_*apy 17 sql-server-2005

就像主题所述:

这封信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?
Run Code Online (Sandbox Code Playgroud)

Sac*_*hag 20

'N' 代表unicode字符.

这个N做的是告诉SQL Server传入的数据是单代码而不是字符数据.当仅使用拉丁字符集时,这不是真正需要的.但是,如果使用不属于基本拉丁字符集的字符,则需要N,以便SQL知道给出的数据是单代码数据.

原始来源 - http://itknowledgeexchange.techtarget.com/sql-server/whats-up-with-the-n-in-front-of-string-values/


小智 6

N表示字符串以Unicode编码.