永发信息网

如下sql语句报错: DECLARE @ids VARCHAr(50) SET @ids='1,2' DELETe FROM Tab WHERe ID

答案:3  悬赏:50  手机版
解决时间 2021-02-07 02:38
错误信息:
消息 245,级别 16,状态 1,第 3 行
在将 varchar 值 '1,2' 转换成数据类型 int 时失败。

但是我将字符串'1,2'直接放到IN后面的括号中改成IN(1,2)就通过,这是为什么啊?
最佳答案
直接放到IN后面的括号中改成IN(1,2) --------------这个可以通过,因为in(1,2,3,4,5)表示id在这些数中的一个,逗号只是用来区分2个值(12,3)是2个值(1,2,3)是3个值,,这是为什么放后面能通过的原因。

你定义的varchar 是字符串, 变量是字符串型,'1,2' 有3个字符,这3个字符分别是'1' , ',' , '2'。这就是说为什么你放后面会错,因为这3个是字符,逗号怎么转变成整数。
全部回答
你的@ids是字符类型的,id应该是数字整形,这样转换的时候就会报错。1,2无法转换为数字
你好! DECLARE @ids VARHCAR(50) DECLARE @prostr VARCHAr(MAX) SET @ids='1,2' SET @prostr='DELETe FROM tab WHERe id IN ('+@ids+')' exec (@prostr) 希望对你有所帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求一本作者名字带五月的(好像是三个字),男
贴寻人启事犯法吗?能写出轨吗
凌源到大连的火车何时经过大平房
有卖车辆年审标贴吗?
请问香港仙妮蕾德地址?
成都铁路局实业开发总公司供销联运公司1幢怎
指挥的手势是指挥工作的核心,两手的基本分工
wonder怎么记,trader怎么记,different怎么
蒸煮食物用什么容器好
【mountain是什么意思】mount和mountain有什
洪强喷织厂我想知道这个在什么地方
怎么用搜狗中的符号打出皮卡丘
网上做食品的网站很多,不知道大家都选的是什
南滩路/南滩路北八巷(路口)我想知道这个在什
怎么使用QQ网络硬盘的网络收藏夹
推荐资讯
高三学生如何复习好语文 详细
读下图,完成下列各题。(每空1分,共10分)
天什么良什么成语
摩托车不能加油怎么办
蓬莱明鑫居家养老服务中心这个地址在什么地方
哪个网盘没有限制?
慢性肺心病肺心功能代偿期不具有的体征是A.肺
有一个很好的异性朋友,我们之间无话不说,感
凤凰城KTV在什么地方啊,我要过去处理事情
在《城南旧事》中,宋妈恋恋不舍离开我家,回
安居药房地址在哪,我要去那里办事
百年之恋旅游婚纱摄影名店这个地址在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?