Sql server N是什么意思?

Sql server N是什么意思?,sql-server,stored-procedures,Sql Server,Stored Procedures,我见过很多SP,比如: SET @SQLString = N'SELECT @max_titleOUT = max(JobTitle) FROM AdventureWorks2012.HumanResources.Employee WHERE BusinessEntityID = @level'; N的确切含义是什么?使用此前缀表示字符串为unicodeN或N表示unicode。。。这意味着变量中的文本使用Unicode。这

我见过很多SP,比如:

SET @SQLString = N'SELECT @max_titleOUT = max(JobTitle) 
                 FROM AdventureWorks2012.HumanResources.Employee
                 WHERE BusinessEntityID = @level';

N的确切含义是什么?

使用此前缀表示字符串为unicode

N
N
表示unicode。。。这意味着变量中的文本使用Unicode。这也意味着变量的大小是每个字符2字节,而不是像varchar()变量那样每个字符1字节。但是如果该变量以前声明为Unicode变量(
declare@sqlString nVarchar(200)
),那么我认为不需要在字符串文本前面加上
N
。不需要在该字符串前面加前缀,但是,您应该为包含在转换为unicode时编码不好的任何字符的字符串添加前缀。N是N[national]word的缩写,它表示unicode字符串常量。注释中已经有了一个更好的答案,这也应该在注释中。虽然它回答了这个问题,但您应该对此进行更多的解释,并可能提供指向MSDN文章等的链接。