sql中nchar与nvarchar的问题
declare@stuidnvarchar(10)selecttop1@stuid=stuidfromstuinfoorderbystuiddescif(@stuidis...
declare @stuid nvarchar(10)
select top 1 @stuid=stuid from stuinfo order by stuid desc
if(@stuid is null)
set @stuid='0001'
else
begin
set @stuid='000'+convert(nvarchar,convert(int,(@stuid+1)))
set @stuid=right(@stuid,4)
print @stuid
end
如上面的存储过程
可以输出0002
但如果换成nchar(10)的话
无法输出数据
必须是nchar(4)才可以
怎么回事???
为什么nvarchar可以呢??? 展开
select top 1 @stuid=stuid from stuinfo order by stuid desc
if(@stuid is null)
set @stuid='0001'
else
begin
set @stuid='000'+convert(nvarchar,convert(int,(@stuid+1)))
set @stuid=right(@stuid,4)
print @stuid
end
如上面的存储过程
可以输出0002
但如果换成nchar(10)的话
无法输出数据
必须是nchar(4)才可以
怎么回事???
为什么nvarchar可以呢??? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询