我在下面提到的雪花中的 tab1 中有 2 列(Col1 和 Col2) Col1:$10,Col2:$25
我想添加 2 列
从 tab1 中选择 sum(Col1+Col2) 作为 Amt ;
但我面临错误:无法识别数值“$ 25.00”
请告知我如何在雪花中添加这两列并获得结果。
提前致谢
我在下面提到的雪花中的 tab1 中有 2 列(Col1 和 Col2) Col1:$10,Col2:$25
我想添加 2 列
从 tab1 中选择 sum(Col1+Col2) 作为 Amt ;
但我面临错误:无法识别数值“$ 25.00”
请告知我如何在雪花中添加这两列并获得结果。
提前致谢
因此,因为您在列中保存了美元符号,它们可能是数据类型 varchar2,但特别是它们不是数据类型数字。如果数据中有非数字字符,则无法对 varchar2 列进行计算,因此必须去掉美元符号并将 varchar2-data 转换为数字,例如:
Select sum(to_number(replace(Col1,'$','')) + to_number(replace(Col2,'$',''))) as Amt from tab1;
更好的方法是将美元金额(不带美元符号)保存在具有数字数据类型的列中,但如果无法更改,则必须在使用它进行任何计算之前将数据更改为数字。