我试图运行一个case语句,并得到主题行错误消息。将数据类型varchar转换为数字时出错
SELECT
IndexValue = CONVERT(VARCHAR,
CASE WHEN _608 in ('value1', 'value2')
THEN _688/100
ELSE ''
END)
FROM DB1
- 场_608 datetype = VARCHAR(26)
- 场_688数据类型=十进制(23,10)
我也看了其他问题/答案,不能找到任何答案这个简单的问题。
那么有什么值得不到的呢? –
这只是痛苦的。为什么要在varchar列中存储数字?你在这里混合了数据类型,这是导致你看不到的性能问题。 –
真正的问题是因为您有一个具有混合数据类型的案例表达式。当这个值符合你的标准时,你正在做数学运算,否则你试图使用一个空字符串,它不能被转换为数字。 –