Oracle to_char postgres 的数字掩码
Oracle to_char numeric masking to postgres
我正在将一个过程从 Oracle 移植到 Postgres。
在查询的 select 中,我有 TO_CHAR(v_numeric, '990.000')
看来,同样的 TO_CHAR(v_numeric, '990.000')
在 Postgres 中也能得到同样的结果。
有人可以解释查询中的“990.000”的作用吗?
TO_CHAR(123.4, '990.000')
returns Oracle 和 Postgres 中的 123.400。而 Oracle 中的 TO_CHAR(1234.400, '990.000')
returns ########
和 Postgres 中的 ###.###
。这个 ########
和 ###.###
是否持有相同的输入数值?
to_char
是一个将数字格式化为字符串输出的函数。 PostgreSQL 函数是专门为 Oracle 兼容性而存在的,但正如您所见,它并不完全兼容。
格式990.000
表示小数点前一到三位,小数点后三位。 9
表示该位置的值为 0 将导致空白而不是 0
。
#
字符表示该数字无法以该格式表示。原因是小数点前多了三位
生成的字符串不“保存”数字,它是将数字呈现为字符串。它只包含它所包含的字符。
我正在将一个过程从 Oracle 移植到 Postgres。
在查询的 select 中,我有 TO_CHAR(v_numeric, '990.000')
看来,同样的 TO_CHAR(v_numeric, '990.000')
在 Postgres 中也能得到同样的结果。
有人可以解释查询中的“990.000”的作用吗?
TO_CHAR(123.4, '990.000')
returns Oracle 和 Postgres 中的 123.400。而 Oracle 中的 TO_CHAR(1234.400, '990.000')
returns ########
和 Postgres 中的 ###.###
。这个 ########
和 ###.###
是否持有相同的输入数值?
to_char
是一个将数字格式化为字符串输出的函数。 PostgreSQL 函数是专门为 Oracle 兼容性而存在的,但正如您所见,它并不完全兼容。
格式990.000
表示小数点前一到三位,小数点后三位。 9
表示该位置的值为 0 将导致空白而不是 0
。
#
字符表示该数字无法以该格式表示。原因是小数点前多了三位
生成的字符串不“保存”数字,它是将数字呈现为字符串。它只包含它所包含的字符。