【发布时间】:2014-01-29 07:37:31
【问题描述】:
我无法理解为什么以下查询会返回给定结果。
查询 1:
SELECT TO_NUMBER('$1,000.95', '$999,999.999')
FROM dual;
返回1000.95。
为什么这个查询不返回$1000.95 或$1,000.95? TO_NUMBER 函数是否会删除所有格式(. 除外)?
查询 2:
SELECT TO_NUMBER('1,000.95', '$999,999.999')
FROM dual;
返回ORA-01722: invalid number。
我想我对这一点的理解有点更好 - 格式掩码与数字格式不匹配。有没有办法在号码中返回$(除了使用CONCAT 或||)?
【问题讨论】:
标签: sql oracle number-formatting