谁能解释这个 SQL 有什么问题?
SELECT TO_CHAR(1890.55,'$9,99D9V99') FROM DUAL;
它抛出一个错误:
ORA-01481:无效的数字格式模型
01481。00000 -“无效
的数字格式模型原因:用户试图通过 TO_CHAR 将数字转换为字符串或通过 TO_NUMBER 将字符串转换为数字,并且提供了无效的数字格式模型参数.
行动:查阅您的手册。
您的格式字符串未在十进制说明符 ( ) 左侧为您提供的数字指定足够的数字D
。此外,您不能在同一格式字符串中混合,
和格式化字符,并且在格式字符串中不能有多个or或 or 。您可以使用D
V
D
.
$9,999.99
或者
$9G999D99
或者
$9,999V99
虽然最后一个显然不会显示小数点。
祝你好运。
用这个;
select to_char(1890.55,'fm$999G990D00','NLS_NUMERIC_CHARACTERS = ''.,''') from dual