我無法理解以下查詢返回給定結果的原因。
查詢1:
SELECT TO_NUMBER('$1,000.95', '$999,999.999')
FROM dual;
返回1000.95
。
爲什麼不查詢返回$1000.95
或$1,000.95
? TO_NUMBER
函數是否刪除所有格式(.
除外)?
問題2:
SELECT TO_NUMBER('1,000.95', '$999,999.999')
FROM dual;
返回ORA-01722: invalid number
。
我想我明白這一個小更好 - 格式掩碼不符合數字格式。有沒有辦法在號碼中返回$
(除了使用CONCAT
或||
)?
謝謝 - 非常清楚。數字'.'和'-'中是否有唯一可能的字符,或者是否有其他字符? –
那麼這也取決於你的操作系統或軟件是如何提供給你的,並且可以通過本地/貨幣/等設置來實現,它不會像DB – AnthonyBlake