我有两列作为字符串,但只存储数值。 我想取这两列的总和,并使用Oracle SQL将其显示为第三列。
有人可以帮我这个吗?
注意:我不能将PL / SQL用于此
答案 0 :(得分:0)
如果您实际提供了有关表,列,数据外观的更多详细信息,将会有所帮助。但假设一个包含2个varchar2
列的表包含数字数据,您可以这样做:
SELECT col1, col2,
to_number(col1) + to_number(col2) as sum_of_cols
FROM your_table;
答案 1 :(得分:0)
这是可能的解决方案之一:
select tax, amount,
case when tax is not null and amount is not null
and replace(translate( tax, '123456789', '000000000' ), '0', '') is null
and replace(translate( amount, '123456789', '000000000' ), '0', '') is null
then to_number(tax)+to_number(amount)
else 0
end summed
from teststr
你可以阅读this article
关于其他几种方法,包括正则表达式和PLSQL函数,如果您的数据包含'23.96'
等值,这可能很有用。