在SQL Server分配中引用之前“N”的含义是什么?

时间:2016-02-27 15:26:51

标签: sql sql-server tsql

我正在看的代码是:

        SET @Message = N'Question result is ''' + @CurrentResult + '''. It should be unmarked or incorrect';
        THROW 50002,@Message,1

有人能解释为什么开发人员会在引号前加上“N”吗?

1 个答案:

答案 0 :(得分:2)

来自备注部分的<{3}}

说该字符串属于Nvarchar类型且可以包含 unicode 字符

  

使用字母N前缀Unicode字符串常量。无   N前缀,该字符串被转换为默认代码页   数据库。此默认代码页可能无法识别某些字符。

"N"前缀代表SQL-92标准中的国家语言,必须为大写。如果不使用N作为Unicode字符串常量的前缀,SQL Server将在使用该字符串之前将其转换为当前数据库的非Unicode代码页。

以下是更详细的信息

MSDN