数据库 中 N'expression'中的N是什么意思啊??蛋疼

 我来答
百度网友b5effec
推荐于2018-04-13 · TA获得超过109个赞
知道答主
回答量:49
采纳率:0%
帮助的人:10万
展开全部
T-SQL字符串前加N是什么意思

比如 select @status = N'stopped'
那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N。

N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于中文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。

也就是说加 N 就表示字符串用 Unicode 方式存储。
但有时候加与不加都一样,又是什么原因呢?这是由于自动转换造成的。

比如:
declare @status nvarchar(20)
select @status = N'stopped'
select @status = 'stopped'

实际上上述两句赋值的结果是一样的,因为变量类型就是 nvarchar(Unicode 类型)。
而有些地方(比如:sp_executesql 的参数)不能自动转换,所以需要加 N 了。
ZESTRON
2025-02-18 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
NotigerKuiKui
2011-07-21 · TA获得超过2803个赞
知道大有可为答主
回答量:1592
采纳率:76%
帮助的人:486万
展开全部
N是Nvarchar()的意思吧,nvarchar是unicode的变长型,前面N表示把字符串变成Unicode型吧,通常系统存储过程参数里面喜欢这样用,如果没有字符集的问题直接用 字符串也是可以的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feibaoyihao
2011-07-21 · 超过30用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:77.2万
展开全部
把问题说清楚好么
追问
就是N ' '   学习数据库的时候看见好多表达式前面都有这个东西,没有他运行还有错误,不知道它表达一个什么意思,比如我们新建立一个数据库时,想把mdf文件和log文件分开放在两个盘,我用sql语句把mdf文件放在C盘时就是下面的操作,N是什么意思我实在不懂了:

(name=N'adventureworks_data',FILENAME=N'c:\Adventureworks_data.mdf')
中的N是什么意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式