微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle to_char 数字掩码到 postgres

如何解决Oracle to_char 数字掩码到 postgres

我正在将一个过程从 Oracle 移植到 Postgres。 在选择查询时,我有 TO_CHAR(v_numeric,'990.000')

看来,同样的 TO_CHAR(v_numeric,'990.000') 在 Postgres 中也能产生相同的结果。

谁能解释一下查询中的“990.000”是做什么的?

TO_CHAR(123.4,'990.000') 在 Oracle 和 Postgres 中返回 123.400。而 TO_CHAR(1234.400,'990.000') 在 Oracle 中返回 ########,在 Postgres 中返回 ###.###。这个 ###########.### 是否保存输入的相同数值?

解决方法

to_char 是一个将数字格式化为字符串以供输出的函数。 PostgreSQL 函数是为了与 Oracle 兼容而存在的,但正如您所见,它并不完全兼容。

格式990.000表示小数点前一到三位数,小数点后三位数。 9 表示该位置的值 0 将导致空白而不是 0

# 字符表示该数字无法以该格式表示。原因是小数点前多于三位。

生成的字符串不“保存”一个数字,它是将一个数字渲染为一个字符串。它只包含它所包含的字符。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。