如何在 Oracle PLSQL 中将数字的小数位数扩展到最少?

发布于 2024-11-19 08:57:55 字数 449 浏览 2 评论 0原文

我不知道如何选择以下内容:

123        -> 123.00000
123.12     -> 123.12000
123.123456 -> 123.123456

我想将小数位数扩展到例如 5 位小数(最少) 如果根本没有小数位,则应该有 5 个零。 小数点后5位以上就可以了。

SELECT ROUND(123,5) FROM DUAL;

结果:123 而不是 123.00000 的

数字具有默认精度。

这是可能的还是我应该将其转换为 oracle 数字格式 的 varchar?

我正在使用 Oracle 10g 和 plsql。

I cant figure out how to select the following:

123        -> 123.00000
123.12     -> 123.12000
123.123456 -> 123.123456

I would like to expand the number of decimal places to for example 5 decimal places (minimum)
If there are no decimal places at all there should be 5 zeros.
It is fine if there are more then 5 decimal places.

SELECT ROUND(123,5) FROM DUAL;

will result: 123
instead of 123.00000

The number has a default precision.

Is this possible or should I convert it to a varchar with the oracle number formats?

I am using Oracle 10g with plsql.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨后咖啡店 2024-11-26 08:57:55

您可以使用以下内容:

SQL> SELECT X, to_char(X, 'fm99999999.00000999')
  2    FROM (SELECT 123 X FROM dual UNION ALL
  3          SELECT 123.12 FROM dual UNION ALL
  4          SELECT 123.123456 FROM dual);

         X TO_CHAR(X,'FM99999999.00000999
---------- ------------------------------
       123 123.00000
    123.12 123.12000
123.123456 123.123456

You could use the following:

SQL> SELECT X, to_char(X, 'fm99999999.00000999')
  2    FROM (SELECT 123 X FROM dual UNION ALL
  3          SELECT 123.12 FROM dual UNION ALL
  4          SELECT 123.123456 FROM dual);

         X TO_CHAR(X,'FM99999999.00000999
---------- ------------------------------
       123 123.00000
    123.12 123.12000
123.123456 123.123456
伴我心暖 2024-11-26 08:57:55

您需要将其转换为 Varchar,如下所示:

SELECT to_char(123, '9999.99999') from dual;

You need to convert it to a Varchar as follows:

SELECT to_char(123, '9999.99999') from dual;
童话里做英雄 2024-11-26 08:57:55

如果要格式化数据,则必须使用 to_char 函数。在数值中,尾随零被截断(它们是不相关的)。

if you want to FORMAT the data, you have to use the to_char function. in numeric values trailing zeroes are truncated (they are irrelevant).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文