这个存储过程为什么出现“将 varchar 值 '61,62,63' 转换为数据类型为 int 的列时发生语法错误。”
CREATE proc getallchildclass
@id int
as
begin
declare @ret varchar(8000),@level int
declare @t table(id int,level int)
set @level = 1
insert into @t select id,@level from classlist where parent=@id
while @@rowcount<>0
begin
set @level=@level+1
insert into @t
select a.id,@level
from classlist a,@t b
where a.parent=b.id and b.level=@level-1
and not exists(select 1 from @t where id=a.id)
end
set @ret=''
select @ret=@ret+','+rtrim(id) from @t order by id
set @ret=stuff(@ret,1,1,'')
return @ret
end
GO
@id int
as
begin
declare @ret varchar(8000),@level int
declare @t table(id int,level int)
set @level = 1
insert into @t select id,@level from classlist where parent=@id
while @@rowcount<>0
begin
set @level=@level+1
insert into @t
select a.id,@level
from classlist a,@t b
where a.parent=b.id and b.level=@level-1
and not exists(select 1 from @t where id=a.id)
end
set @ret=''
select @ret=@ret+','+rtrim(id) from @t order by id
set @ret=stuff(@ret,1,1,'')
return @ret
end
GO
...全文
相关推荐
sqlserver中将varchar类型转换为int型再进行排序的方法
本篇文章主要探讨了如何将varchar类型的数据转换为int类型,以便在排序时避免因字符顺序引起的错误结果。
Mysql数据库中把varchar类型转化为int类型的方法
在MySQL数据库中,数据类型转换是非常常见的操作,特别是在处理不同类型的数据时。本篇文章将详细介绍如何将varchar类型的数据转换为int类型。
java中long数据类型转换为int类型
**强制类型转换** 当我们需要将一个`long`类型的值转换为`int`类型时,由于`int`的范围小于`long`,可能会导致数据溢出。在这种情况下,我们需要使用强制类型转换运算符`(int)`。
sqlserver 数据类型转换小实验
int)set @i=convert(int, 'a')print @i```结果显示,将字符串类型的值 'a' 转换为整数类型时,SQL Server 将抛出语法错误。
pandas读取CSV文件时查看修改各列的数据类型格式
这将返回一个Series,其中索引是列名,对应的值是列的数据类型,如`int64`、`float64`或`object`(用于字符串)等。在修改数据类型时,我们可能会遇到多种情况。


