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)
?