在Oracle SQL

时间:2015-07-16 12:44:22

标签: sql oracle

我有两列作为字符串,但只存储数值。 我想取这两列的总和,并使用Oracle SQL将其显示为第三列。

有人可以帮我这个吗?

注意:我不能将PL / SQL用于此

2 个答案:

答案 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 

SQLFiddle demo

你可以阅读this article 关于其他几种方法,包括正则表达式和PLSQL函数,如果您的数据包含'23.96'等值,这可能很有用。