我在将十六进制数转换为十进制数时遇到了X
数字格式元素to_number
的特殊限制。to_char
看起来数字格式模型的最大长度为 63 个字符,但我找不到文档中提到的限制。例如,提到了日期时间格式模型的最大长度:
日期时间格式模型的总长度不能超过 22 个字符。
使用 63 X
es:
SQL> select to_number('A', rpad('X', 63, 'X')) from dual;
TO_NUMBER('A',RPAD('X',63,'X'))
-------------------------------
10
使用 64 X
es:
SQL> select to_number('A', rpad('X', 64, 'X')) from dual;
select to_number('A', rpad('X', 64, 'X')) from dual
*
ERROR at line 1:
ORA-01481: invalid number format model
我只尝试了X
格式元素,因为它与我当前的任务相关。
问题:
- 这是文档中缺少的已知数字格式模型限制吗?
- 如何将 64(及更长)位长度的十六进制数转换为十进制数?