首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

转换为数据类型为 int 的列时发生语法异常,怎样解决

2012-04-12 
转换为数据类型为 int 的列时发生语法错误,怎样解决?表bevybevy_idbevy_manbevy_sort(int)1小华22小朱33小

转换为数据类型为 int 的列时发生语法错误,怎样解决?
表bevy
bevy_id     bevy_man     bevy_sort(int)
    1                   小华           2
    2                   小朱           3
    3                   小水           2
    ...               ...             ...
如何output   为字符串: "2,3,2 "
存储过程如下:
declare   @a   varchar(100)
set   @a= ' '
select   @a=@a+isnull(bevy_sort, ' ')+ ', '   from   bevy
select   left(@a,len(@a)-1)   as   output
为什么出现:
将   varchar   值   ', '   转换为数据类型为   int   的列时发生语法错误



[解决办法]
把 bevy_sort 转为字符串类型再与 ', '相加:

declare @a varchar(100)
set @a= ' '
select @a=@a+isnull(rtrim(bevy_sort), ' ')+ ', ' from bevy
select left(@a,len(@a)-1) as output

[解决办法]
declare @a varchar(100)
set @a= ' '
select @a=@a+isnull(cast(bevy_sort as varchar), ' ')+ ', ' from bevy
select left(@a,len(@a)-1) as output
[解决办法]
bevy_sort先转成字符型吧
[解决办法]
--如果想NULL显示为NULL:
--select @a=@a+isnull(bevy_sort, ' ')+ ', ' from bevy
select @a=@a+isnull(cast(bevy_sort as varchar), 'NULL ')+ ', ' from bevy

热点排行