我在某些插入T-SQL查询中看到前缀N。N在表中插入值之前,许多人已经使用过。
N
我进行了搜索,但是N在将任何字符串插入表之前,我无法理解包括的目的是什么。
INSERT INTO Personnel.Employees VALUES(N'29730', N'Philippe', N'Horsford', 20.05, 1),
此“ N”前缀起什么作用?何时使用?
它声明字符串为nvarchar数据类型,而不是varchar
nvarchar
varchar
您可能已经看到了Transact- SQL代码,该代码使用N前缀传递字符串。这表示后面的字符串是Unicode(N实际上代表本国语言字符集)。这意味着您要传递一个NCHAR,NVARCHAR或NTEXT值,而不是CHAR,VARCHAR或TEXT。
引用微软的话:
使用字母N作为前缀Unicode字符串常量。没有N前缀的情况下,该字符串将转换为数据库的默认代码页。 此默认代码页可能无法识别某些字符 。