【发布时间】:2015-11-03 16:00:00
【问题描述】:
我有以下疑问:
select *,
case when prod='CPU' and quan>1000 then 1000
when prod='MOUSE' and quan>1024 then 1024
when prod='MONITOR' and quan<2 then 2 else quan end as quan
from products_test;
我收到错误:将 varchar 值“CPU”转换为数据类型 int 时转换失败。
【问题讨论】:
-
好的,
prod是int。为什么要将它与字符串值'CPU'进行比较? -
发布您的 product_test 数据
-
他可能在 prod 是 int 的表中有数据并且没有意识到。
-
为什么要将字符串值传递给 Data-Type int?
-
@GordonLinoff 列“prod”的数据类型为 nvarchar(50)。它不是 int 数据类型。我已经检查过了
标签: sql sql-server tsql