如何从年薪栏中删除$符号和逗号(如50000至50000美元)

  • 本文关键字:50000 美元 删除 符号 sql oracle
  • 更新时间 :
  • 英文 :


我有一个名为annualsalary的列,其数据类型为varchar2。在本专栏中,我有25000美元、67000美元等值。我想去掉$符号和逗号。我只能做一个替换功能,并去掉dollarsign。但是,如何在同一个查询中去掉逗号呢?

我试着用下面的查询来做,但我无法去掉逗号。

SELECT REPLACE(ANNUALINCOME,'$','') AS column_variable FROM table_name;

它去掉了$符号,并显示输出为50000。但现在我也想去掉逗号,使它变成50000。

Nestreplaces

SELECT REPLACE(REPLACE(ANNUALINCOME,'$',''), ',', '') AS column_variable 
FROM table_name;

您可以使用TO_NUMBER:

SELECT TO_NUMBER(value, '$999G999G999D99') AS amount
FROM   table_name;

注意:这比REPLACE有优势,因为它只需要一个函数调用,更重要的是,它将值从字符串转换为数字,因此如果对数据进行排序,则它将以数字排序,而不是以字母数字排序

注意2:您应该ANNUALINCOME存储为NUMBER数据类型,而不是格式化字符串,并且当您想要显示值而不是反向执行时,可以使用TO_CHAR应用适当的格式

对于样本数据:

CREATE TABLE table_name (value) AS
SELECT '$25,000' FROM DUAL UNION ALL
SELECT '$67,000' FROM DUAL

输出:

AMOUNT
25000
67000

相关内容

  • 没有找到相关文章