You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL问题:ID为奇数时拼接产品名称加-v2报错排查

解决SQL中IIF函数类型不兼容导致的转换错误

错误原因

IIF函数要求两个分支的返回值数据类型必须兼容:

  • 当IdProdus为奇数时,返回的是拼接后的字符串(varchar类型)
  • 当IdProdus为偶数时,你写的是整数0(int类型)

SQL Server会自动尝试将字符串转换为整数以统一类型,但你的产品名称无法转换为整数,因此抛出Conversion failed错误。

修正方案

根据需求,当IdProdus为偶数时应返回原Denumire值,修改后的SQL如下:

SELECT IdProdus, Denumire, IIF(IdProdus%2=1, CONCAT(Denumire, '-v2'), Denumire)
FROM PRODUSE;

如果需要在偶数时返回其他内容,必须保证类型为字符串,例如:

-- 偶数时返回空字符串
SELECT IdProdus, Denumire, IIF(IdProdus%2=1, CONCAT(Denumire, '-v2'), '')
FROM PRODUSE;

-- 偶数时返回指定默认字符串
SELECT IdProdus, Denumire, IIF(IdProdus%2=1, CONCAT(Denumire, '-v2'), '无版本后缀')
FROM PRODUSE;

内容的提问来源于stack exchange,提问作者George Dulică

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:40:39