Postgresql 控制输出中的psql十进制数字
我想知道,当结果显示在psql shell中时,是否存在一个参数或全局变量,使PostgreSQL中的浮点(或双精度)值打印为最大N位数 我知道即将发布,我正在寻找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
再见在某种程度上,您可以控制定义数字长度的小数位数,例如:
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)等,任何典型数字都没有溢出的机会。