2017-07-30 81 views
0

任何人都可以解释这个SQL有什么问题吗?Oracle转换导致错误

SELECT TO_CHAR(1890.55,'$9,99D9V99') 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.

+0

编辑您的问题,并提供样本数据和预期结果。如果我们知道你想要做什么,你更有可能得到答案。 –

回答

0

使用此;

select to_char(1890.55,'fm$999G990D00','NLS_NUMERIC_CHARACTERS = ''.,''') from dual 
1

您的格式字符串不小数点符(D)为您所提供的电话号码的左侧指定的位数不足。另外,不能在格式字符串中混合使用,DD.中的多个格式化字符,但格式字符串中的格式化字符不能是。您可以使用

$9,999.99 

$9G999D99 

$9,999V99 

虽然最后一个,很明显,不会显示小数点。

祝你好运。