0

我在下面提到的雪花中的 tab1 中有 2 列(Col1 和 Col2) Col1:$10,Col2:$25

我想添加 2 列

从 tab1 中选择 sum(Col1+Col2) 作为 Amt ;

但我面临错误:无法识别数值“$ 25.00”

请告知我如何在雪花中添加这两列并获得结果。

提前致谢

4

1 回答 1

0

因此,因为您在列中保存了美元符号,它们可能是数据类型 varchar2,但特别是它们不是数据类型数字。如果数据中有非数字字符,则无法对 varchar2 列进行计算,因此必须去掉美元符号并将 varchar2-data 转换为数字,例如:

    Select sum(to_number(replace(Col1,'$','')) + to_number(replace(Col2,'$',''))) as Amt from tab1;

更好的方法是将美元金额(不带美元符号)保存在具有数字数据类型的列中,但如果无法更改,则必须在使用它进行任何计算之前将数据更改为数字。

于 2021-09-16T06:57:14.773 回答