Postgresql 控制输出中的psql十进制数字

Postgresql 控制输出中的psql十进制数字,postgresql,psql,Postgresql,Psql,我想知道,当结果显示在psql shell中时,是否存在一个参数或全局变量,使PostgreSQL中的浮点(或双精度)值打印为最大N位数 我知道即将发布,我正在寻找psql中的全局行为 再见在某种程度上,您可以控制定义数字长度的小数位数,例如: t=# select (2/3.0)::numeric(3,3)::float; float8 -------- 0.667 (1 row) Time: 89.094 ms t=# select (2/3.0)::numeric(9,9)::fl

我想知道,当结果显示在psql shell中时,是否存在一个参数或全局变量,使PostgreSQL中的浮点(或双精度)值打印为最大N位数

我知道即将发布,我正在寻找psql中的全局行为


再见

在某种程度上,您可以控制定义数字长度的小数位数,例如:

t=# select (2/3.0)::numeric(3,3)::float;
 float8
--------
  0.667
(1 row)

Time: 89.094 ms
t=# select (2/3.0)::numeric(9,9)::float;
   float8
-------------
 0.666666667
(1 row)

在某种程度上,您可以控制定义数字长度的小数位数,例如:

t=# select (2/3.0)::numeric(3,3)::float;
 float8
--------
  0.667
(1 row)

Time: 89.094 ms
t=# select (2/3.0)::numeric(9,9)::float;
   float8
-------------
 0.666666667
(1 row)

psql中没有这样的功能,或者通常有很多数据格式控制。

psql中没有这样的功能,或者通常有很多数据格式控制。

您的解决方案比我使用的
to_char
更好,因为它至少保持了数字类型。另一方面,不幸的是,它不是全局的。请注意,如果数字不适合左侧,则可能会失败。i、 e.423.234::数字(4,2)将失败。@Scottmarlowee是。如果你用数字来控制长度,你也需要保持整个长度。是的,为了安全起见,很容易做得过多。数字(200190)等,右边是10,对于任何典型的数字都没有溢出的机会。你的解决方案比我使用的
to_char
要好,因为它至少保持了数字类型。另一方面,不幸的是,它不是全局的。请注意,如果数字不适合左侧,则可能会失败。i、 e.423.234::数字(4,2)将失败。@Scottmarlowee是。如果你用数字来控制长度,你也需要保持整个长度。是的,为了安全起见,很容易做得过多。右边10的数字(200190)等,任何典型数字都没有溢出的机会。