SQL语句前的加一个N什么意思

2025-03-23 03:03:41
推荐回答(2个)
回答1:

你说的是类似 xxx=N'......'这样的内容吧。
这个N表示后续的字符串是Unicode类型的字符。
一些字段如果是Unicode类型的字段如NChar,NVarChar,NText,就需要通过这种写法将字符串常量转换后写入。
比较常见的就是一些系统的存储过程或函数它们是要求Unicode类型的参数,比如存储过程的创建,可以使用sp_executesql,它接受的参数就要求是Unicode常量或变量。因此通过它添加存储过程一般就需要这样写:
EXEC dbo.sp_executesql @statement = N'CREATE proc [dbo].[Analyse_Cost] (...

回答2:

来支持UNICODE字符的,不加的话,如果sql语句中有Unicode字符会认不出来