一条删除多条语句
DELETE FROM T_CLASS WHERE Class_ID in (2,3,4)前台传来的 Class_ID 的参数是字符串2,3,4
而数据库Class_ID是int型怎么用类型转换把 2,3,4
成int型啊?
强制转换是不是有“,” 会报错啊?
应该怎么做呢?我用的是sql server 2005
在线等,,帮帮忙
DELETE FROM T_CLASS WHERE Class_ID in (2,3,4)前台传来的 Class_ID 的参数是字符串2,3,4
而数据库Class_ID是int型怎么用类型转换把 2,3,4
成int型啊?
强制转换是不是有“,” 会报错啊?
应该怎么做呢?我用的是sql server 2005
在线等,,帮帮忙
DELETE FROM T_CLASS WHERE charindex(','+ltrim(Class_ID)+',',','+@s+',')>0
set @s='2,3,4'exec ('DELETE FROM T_CLASS WHERE Class_ID in ('+@s+')')
set @s='2,3,4'exec (DELETE FROM T_CLASS WHERE Class_ID in ('@s')')
set @s='2,3,4'EXEC('DELETE FROM T_CLASS WHERE Class_ID in ('+@s+')')明白了,这样也可以。
-- 是这个意思吗?
declare @class_id varchar(40);
set @class_id='2,3,4';declare @sql varchar(4000);
set @sql='DELETE FROM T_CLASS WHERE Class_ID in ('+@class_id+')';
exec(@sql);
set @s='2,3,4'
exec ('DELETE FROM T_CLASS WHERE Class_ID in ('+@s+')')
DELETE FROM T_CLASS WHERE rtrim(Class_ID) in (@参数)
DELETE FROM T_CLASS WHERE Class_ID in (2,3,4) '按数字处理
DELETE FROM T_CLASS WHERE Class_ID in ('2','3','4,) '按字符串处理当然类型转化函数有CAST 和CONVERT,如果需要的话可以查看MSDN。
我sql语句是配置在ibatis里的
前台传来的是字符串'2,3,4',执行sql语句后台就报错,如下在将 nvarchar 值 '2,3,4' 转换成数据类型 int 时失败。;
set @s='2,3,4'EXEC('DELETE FROM T_CLASS WHERE Class_ID in ('+@s+')')这样试了吗
我知道你们写的sql语句是没问题的
但是我用程序传到后台的是个带逗号的字符串 2,3,4
郁闷啊
set @s='2,3,4'
set @s = REPLACE(@s,',',',')
set @s
EXEC('DELETE FROM T_CLASS WHERE Class_ID in ('+@s+')')