1

我正在将一个过程从 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。而在 Oracle 和 Postgres 中TO_CHAR(1234.400, '990.000')返回。这是否与输入的数值相同?###########.##############.###

4

1 回答 1

2

to_char是将数字格式化为字符串以进行输出的函数。PostgreSQL 函数专门用于与 Oracle 兼容,但正如您所见,它并不完全兼容。

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

这些#字符表示该数字不能以该格式表示。原因是小数点前多于三位。

结果字符串不“保存”数字,它是将数字呈现为字符串。除了由它组成的字符之外,它什么都没有。

于 2021-02-10T07:45:48.807 回答