字符串参数前的“N”是多少?

时间:2012-09-27 03:09:36

标签: sql-server sql-server-2008

在阅读SQL Server文档时,我遇到了以下声明:

EXEC sp_addlinkedserver   
   @server=N'S1_instance1', 
   @srvproduct=N'',
   @provider=N'SQLNCLI', 
   @datasrc=N'S1\instance1';

字符串参数前的“N”是多少?它似乎是可选的,因为没有它们,该陈述效果很好。

2 个答案:

答案 0 :(得分:3)

表示该字符串为NVARCHAR,而不是VARCHAR

答案 1 :(得分:3)

来自here

  

“N”前缀代表SQL-92标准中的国家语言,   并且必须是大写的。如果不为Unicode字符串添加前缀常量   使用N,SQL Server会将其转换为非Unicode代码页   当前数据库使用字符串之前。

来自堆栈交换的更多信息是here