我正在使用Oracle 10g並具有數據庫列Q1的數據類型爲varchar2的數據庫。該列主要保存float和int值。將字符串轉換爲oracle中的格式編號
我想運行一個查詢,將獲取值,但具有標準美國貨幣格式的值格式。例如,如果值爲3020,則查詢將返回3,020.00。
我試過以下,但都沒有工作。
SELECT TO_CHAR(Q1, '9,999.99') FROM TABLE1;
ORA-01722: invalid number
01722. 00000 - "invalid number"
SELECT TO_CHAR(TO_NUMBER(Q1), '9,999.99') FROM TABLE1;
ORA-01722: invalid number
01722. 00000 - "invalid number"
我也嘗試使用實際值而不是列名稱,第一個示例工作。 : -/
SELECT TO_CHAR('1234', '9,999.99') FROM TABLE1; //returns 1,234.00
在此步驟之後,我回去,並嘗試添加格式掩碼TO_NUMBER(): SELECT TO_CHAR(TO_NUMBER(Q1, '9,999.99'), '9,999.99')FROM TABLE1;
ORA-01722: invalid number
01722. 00000 - "invalid number"
它還沒有工作。
有人可以解釋爲什麼這不適合我的專欄嗎?最初雖然是因爲列的數據類型不是數字,浮點數或整數,但即使在轉換爲數字後,我仍然得到相同的錯誤。任何幫助將不勝感激。