2017-07-30 98 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 

雖然最後一個,很明顯,不會顯示小數點。

祝你好運。