日期:2014-05-18  浏览次数:20467 次

散分,顺便问一下OBJECTPROPERTY(id, N'IsTable'),IsTable前面的N是什么意思?
如题
希望详细解答,
    勿忘国耻!!!

------解决方案--------------------
N是National的意思,表示其后面的字符常量是UNICODE类型的.
------解决方案--------------------
2
------解决方案--------------------
N表示Unicode


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

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

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

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

实际上上述两句赋值的结果是一样的,因为变量类型就是 nvarchar(Unicode 类型)。

------解决方案--------------------
這麼多分才這幾個人分啊..
------解决方案--------------------
接分,顺便看一下OBJECTPROPERTY(id, N 'IsTable '),IsTable前面的N是什么意思.
------解决方案--------------------
我也来看看
------解决方案--------------------
上面都说完了..JF来的我也
------解决方案--------------------
JF
------解决方案--------------------
來接分,呵呵
------解决方案--------------------
接分

N不是单独的
N 'IsTable '才是一个整体,表示一个Unicode字符串常量

------解决方案--------------------
接分
------解决方案--------------------
N表示Unicode的含义,就象类型中有varchar和nvarchar一样
N 'IsTable '表示一个Unicode字符串常量