nvarchar 的问题,大家都来看下
Nvarchar类型不是长度可以变化的类型吗?
现在:
decalre @i = INT
decalre @k nvarchar(5) --这里定义的是5
set @i = 123456 --6位
select @k = convert(nvarchar(3),@i,102) --这里nvarchar定义为3
print @k
1 这段代码执行时首先提示益出,根据表面现象,我知道@i 是6位的,转化为nvarchar的形式时,和定义的3也有关系吗?nvarchar不是可以根据长度自动变化的吗?
2 即使把convert里面定义时定义为大于6的,但是,打印出的@k 只有5位,也没有根据数据的长度自动变化啊?
请高人给个解释
------解决方案--------------------那你就定義長點吧,就可以解決了
decalre @k nvarchar(500)