【发布时间】:2014-07-14 08:56:12
【问题描述】:
select
T1.Col1,
CASE T1.Col1
WHEN 99.95 THEN '18.97'
END
from Table T1
当我执行上述 SQL 查询时,我收到以下错误消息:
Arithmetic overflow error converting varchar to data type numeric.
T1.Col1 列的数据类型是 Varchar,但包含例如 18.97 的数据。糟糕的设计,但不得不忍受。
在发布到这里之前,我已经尝试了很多方法来让这段代码正常工作。例如,我尝试将数据转换为 varchar,decimal 还尝试查看是否可以使用字符而不是十进制值,还尝试使用强制转换函数。
请帮忙。
这是 SQL Server 2005。很抱歉没有早点分享。
【问题讨论】: