散分,顺便问一下OBJECTPROPERTY(id, N'IsTable'),IsTable前面的N是什么意思?

小安子 2007-07-07 06:25:25
如题
希望详细解答,
勿忘国耻!!!
...全文
406 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
青锋-SS 2007-07-09
  • 打赏
  • 举报
回复
接分,顺便看一下OBJECTPROPERTY(id, N'IsTable'),IsTable前面的N是什么意思.
echiynn 2007-07-09
  • 打赏
  • 举报
回复
這麼多分才這幾個人分啊..
lt1129 2007-07-09
  • 打赏
  • 举报
回复
N表示Unicode的含义,就象类型中有varchar和nvarchar一样
N'IsTable'表示一个Unicode字符串常量
楠峰之南 2007-07-09
  • 打赏
  • 举报
回复
接分
昵称被占用了 2007-07-09
  • 打赏
  • 举报
回复
接分

N不是单独的
N'IsTable'才是一个整体,表示一个Unicode字符串常量
fa_ge 2007-07-09
  • 打赏
  • 举报
回复
來接分,呵呵
jacket008 2007-07-09
  • 打赏
  • 举报
回复
JF
肥胖的柠檬 2007-07-09
  • 打赏
  • 举报
回复
上面都说完了..JF来的我也
云飞扬77 2007-07-09
  • 打赏
  • 举报
回复
我也来看看
小安子 2007-07-07
  • 打赏
  • 举报
回复
谢谢,来着有分!
过2天结贴,
强者不可多占,弱者不可全无!!
哈哈哈
OracleRoob 2007-07-07
  • 打赏
  • 举报
回复
N表示Unicode


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

也就是说加 N 就表示字符串用 Unicode 方式存储。

但有时候加与不加都一样,又是什么原因呢?这是由于自动转换造成的。

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

实际上上述两句赋值的结果是一样的,因为变量类型就是 nvarchar(Unicode 类型)。
bill024 2007-07-07
  • 打赏
  • 举报
回复
继续接分!
bill024 2007-07-07
  • 打赏
  • 举报
回复
N表示Unicode的含义,就象类型中有varchar和nvarchar一样,一个Unicode字符占两个字节.使用N'的情况主要是在双字节系统环境中强制系统对每个字符用Unicode标准来解释,否则如果你的数据库.mdf文件是中文名而又不加N'的话,数据库加载后名称可能就变成乱码,因为系统按单字节处理字符造成
bill024 2007-07-07
  • 打赏
  • 举报
回复
2
hellowork 2007-07-07
  • 打赏
  • 举报
回复
N是National的意思,表示其后面的字符常量是UNICODE类型的.

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧