gpt4 book ai didi

sql - Oracle 的 to_number - 怎么了?

转载 作者:行者123 更新时间:2023-12-01 15:33:26 27 4
gpt4 key购买 nike

下面的 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;

关于sql - Oracle 的 to_number - 怎么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1804448/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com