0
select
T1.Col1,
CASE T1.Col1
WHEN 99.95 THEN '18.97'
END
from Table T1
当我执行上述的SQL查询我得到下面的错误消息:十进制数据在varchar数据类型 - 算术溢出错误转换VARCHAR到数据类型数值
Arithmetic overflow error converting varchar to data type numeric.
的数据类型列T1.Col1
是Varchar
,但保存例如18.97的数据。糟糕的设计,但必须忍受它。
在发布此处之前,我已经尝试了很多方法来获取此代码。对于我试图将数据转换为varchar,十进制也试图看看我是否可以使用字符而不是十进制值,也试图使用强制转换函数。
请帮忙。
这是SQL Server 2005.对不起,没有先分享这个。
select T1.Col1,case CONVERT(DECIMAL,LTRIM(RTRIM(T1.Col1))) \t \t \t WHEN '99 .99'THEN 18.97 END from Table T1。这对我有效。非常感谢围绕这个概念推动这个想法。我想在跨平台上工作确实有帮助。 :) – msbikk