ORACLE SQL将文本转换为要在计算中使用的数字

时间:2017-02-01 10:18:16

标签: oracle

我正在使用ORACLE数据库&有一个表是所有文本值(VARCHER2)。我需要将表格中的两列转换为数字和数字。然后将它们添加到一起以生成一个名为Total的新列。不幸的是,数据集中有NULL值。我无法将列添加到一起。

Job_no   |   widget_1   |   widget_2  -  Total
abc123   |   10.00      |   Null      -  10
efg123   |   10.00      |   10.00     -  20
hij123   |   Null       |   10.00     -  10

1 个答案:

答案 0 :(得分:0)

您可以使用COALESCE

<ul>
  <li id="one"><em>fresh</em> figs</li>
  <li id="two">pine nuts</li>
  <li id="three">honey</li>
  <li id="four">balsamic vinegar</li>
</ul>

在Oracle中,您甚至可以使用特定于Oracle的NVL

with yourTable(Job_no, widget_1, widget_2) as (
    select 'abc123',10.00,Null  from dual union all
    select 'efg123',10.00,10.00 from dual union all
    select 'hij123',Null ,10.00 from dual
)
/* the query *
select Job_no, widget_1, widget_2, coalesce(widget_1, 0) + coalesce(widget_2, 0) as total
from yourTable

Here您在COALESCE vs NVL

上找到更多内容