oracle将字符串前移,将字符串转换为oracle中的格式编号

我正在使用Oracle 10g并具有数据库列Q1的数据类型为varchar2的数据库。该列主要保存float和int值。将字符串转换为oracle中的格式编号

我想运行一个查询,将获取值,但具有标准美国货币格式的值格式。例如,如果值为3020,则查询将返回3,020.00。

我试过以下,但都没有工作。

SELECT TO_CHAR(Q1, '9,999.99') FROM TABLE1;

ORA-01722: invalid number

01722. 00000 - "invalid number"

SELECT TO_CHAR(TO_NUMBER(Q1), '9,999.99') FROM TABLE1;

ORA-01722: invalid number

01722. 00000 - "invalid number"

我也尝试使用实际值而不是列名称,第一个示例工作。 : -/

SELECT TO_CHAR('1234', '9,999.99') FROM TABLE1; //returns 1,234.00

在此步骤之后,我回去,并尝试添加格式掩码TO_NUMBER(): SELECT TO_CHAR(TO_NUMBER(Q1, '9,999.99'), '9,999.99')FROM TABLE1;

ORA-01722: invalid number

01722. 00000 - "invalid number"

它还没有工作。

有人可以解释为什么这不适合我的专栏吗?最初虽然是因为列的数据类型不是数字,浮点数或整数,但即使在转换为数字后,我仍然得到相同的错误。任何帮助将不胜感激。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值