传递格式时出现Oracle TO_NUMBER问题



我有以下情况。

我正尝试按如下方式使用to_NUMBER:

SELECT TO_NUMBER('$123,456.789','$999,999G999D999') FROM DUAL;

我得到

`

ORA-01481: invalid number format model
01481. 00000 -  "invalid number format model"
*Cause:    The user is attempting to either convert a number to a string
via TO_CHAR or a string to a number via TO_NUMBER and has
supplied an invalid number format model parameter.
*Action:   Consult your manual.

`

我记得我在某个地方读到,不可能将G和D与和混合。在传递格式时,但找不到任何Oracle官方文档来证实这一点。

如果有人能澄清这种情况,或者给我指一篇文章或帖子,我会非常感激,因为我什么都找不到。也许我的谷歌搜索需要一些帮助:(

在整个中使用GD

SELECT TO_NUMBER('$123,456.789','$999G999G999D999') AS value FROM DUAL;

如果需要,可以明确指定NLS_NUMERIC_CHARACTERS设置:

SELECT TO_NUMBER(
'$123,456.789',
'$999G999G999D999',
'NLS_NUMERIC_CHARACTERS=.,'
) AS value
FROM   DUAL;

或者在整个中使用,.

SELECT TO_NUMBER('$123,456.789','$999,999,999.999') AS value FROM DUAL;

哪些全部输出:

VALUE
12346.789

相关内容

  • 没有找到相关文章

最新更新