【发布时间】:2011-08-01 16:16:50
【问题描述】:
我有一个用括号括起来的负数的 MYSQL 数据库
例如。 (14,500) 这应该是 -14500。
我将数字存储为 varchar。我正在尝试将所有数字转换为双精度或浮点格式,并使用减号格式化负数。
我的代码:
select case
when substr(gross_d,1,1) = '(' then
ltrim('(') and rtrim(')') *-1
else
(gross_d)
end gross_d_num
from buy;
convert(gross_d_num,Double);
我当前方法的问题是所有带括号的负数都转换为零。有没有不同的方法来得到我的结果。
编辑:
我还删除了 *-1 以查看括号是否被删除并且我得到的值为零。
【问题讨论】:
-
那是因为无论 Gross_d 是多少,
ltrim('(') and rtrim(')') * -1始终为零。
标签: mysql negative-number