2
下面的to_number格式說明符有什麼問題?Oracle的to_number - 出了什麼問題?
SELECT TO_NUMBER('0,22', '0,99') * 100 FROM DUAL;
結果是2200而不是22 - 我做錯了什麼?
下面的to_number格式說明符有什麼問題?Oracle的to_number - 出了什麼問題?
SELECT TO_NUMBER('0,22', '0,99') * 100 FROM DUAL;
結果是2200而不是22 - 我做錯了什麼?
嘗試:
TO_NUMBER('0,22', '9D99')
不像文字逗號,該D
只會匹配小數點分隔符。所以如果失敗了,你的小數分隔符可能是.
,而不是,
。
你可以使用這個命令來查看小數點分隔符和千個分隔符:
select value from nls_session_parameters
where parameter = 'NLS_NUMERIC_CHARACTERS'
如果返回.,
,逗號是你的千個分隔符。
要更改分隔符爲單個查詢,你可以:
select TO_NUMBER('0,22','9D99','nls_numeric_characters=,.') from dual;
快速猜測: 0.22 0.22對比(同爲9.99與0.99)
?