gpt4 book ai didi

postgresql - 更改数字在 psql 中的打印方式

转载 作者:行者123 更新时间:2023-12-03 20:01:43 25 4
gpt4 key购买 nike

如何在psql中设置数值显示格式?
我在 select 查询中有 ma​​ny character varyingdouble precision 列。我可以在每个数字列上使用 to_char()round(),但是对于许多列,这会使代码过于重复。

有捷径吗?例如,是否有任何 psql session 设置,例如 \pset numeric '9.9EEEEE' (我只是编造的,不要尝试使用它)。我无法在手册中快速找到此类设置:PostgreSQL: Documentation: psql

示例:

-- Got this:
=# select bar from (values (123456789), (0.123456789), (0.000000123456789)) table_foo (bar);
bar
-------------------
123456789
0.123456789
0.000000123456789

-- I have to use this workaround:
=# select to_char(bar, '9.9EEEEE') as bar from (values (123456789), (0.123456789), (0.000000123456789)) table_foo (bar);
bar
----------
1.2e+08
1.2e-01
1.2e-07

-- I want this:
-- set some session settings, and then magically:
=# select bar from (values (123456789), (0.123456789), (0.000000123456789)) table_foo (bar);
bar
----------
1.2e+08
1.2e-01
1.2e-07

最佳答案

除了指定数字区域设置之外,没有其他可能性可以指定格式数量。值已经在服务器端格式化,psql 将格式化为最终输出格式(table、html、csv),但值已格式化,psql 不会尝试重新格式化(numericlocale 是一个异常(exception))。我记得关于指定 bool 类型输出格式的可能性的长时间讨论,但仍然没有实际结果。 psql 没有强大的功能来生成丰富的报告。它应该是快速、安全和健壮的交互式客户端。虽然我希望在这方面有更大的可能性,但现代电子表格和报告工具更适合某些任务。

关于postgresql - 更改数字在 psql 中的打印方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65794509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com