gpt4 book ai didi

oracle - 如何使用带固定小数点字符的 TO_NUMBER 函数在 Oracle 中将字符串转换为数字?

转载 作者:行者123 更新时间:2023-12-04 12:24:41 27 4
gpt4 key购买 nike

我需要从 string 转换程序至decimal带固定小数分隔符 .独立于文化环境。接下来,我知道十进制数在 . 之后只有 6 个小数位。并且 . 之前的位数没有限制.使用 Oracle 文档及其格式字符串示例我现在只有这个解决方案:

v_number := TO_NUMBER(v_string, '9999999999999999999999999999999999D999999', 'NLS_NUMERIC_CHARACTERS = ''. ''');
9的数量 D 之前的字符是允许的最大数量。我发现这个格式字符串非常糟糕。这种一般转换是否有更好的格式字符串或省略函数的第二个参数的某种方式?一般来说,我只需要传递给函数 NLS 参数来告诉它我只想使用小数分隔符 . 进行转换,但在这种情况下,第二个参数也是必需的。

最佳答案

您不能调用to_number使用第三个参数而不是第二个参数的函数。我建议将“丑陋”的格式字符串放在包常量中,然后忘记它。

您也可以使用 dbms_session.set_nls 修改您的 NLS 设置并能够使用 to_number没有论据。

关于oracle - 如何使用带固定小数点字符的 TO_NUMBER 函数在 Oracle 中将字符串转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5552359/

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