gpt4 book ai didi

psql - 如何使用 psql 格式化 bool 值?

转载 作者:行者123 更新时间:2023-12-04 15:55:52 26 4
gpt4 key购买 nike

使用 psql,我想格式化 bool 值以显示为 TRUEFALSE 而不是 tf 默认情况下,因为我发现后者很难相互区分。

我可以通过在我的 ~/.psqlrc 中设置以下内容来更改 null 的显示方式:

\pset null 'Ø'

我如何为 bool 值执行此操作?

最佳答案

虽然似乎没有像 null 分隔符那样修改 psql 输出行为的简单方法,但您可以通过另一种方式实现此目的,即修改输出值,将其转换为文本.

给定如下模式:

CREATE TABLE bools (
name text,
alive boolean
);

INSERT INTO bools VALUES ('Taylor Swift', TRUE);
INSERT INTO bools VALUES ('Elvis Presley', FALSE);

然后我们可以查询 bool 值,沿途将它们区分大小写,甚至可以创建一个函数来为我们处理转换:

postgres=# SELECT name, alive FROM bools;
name | alive
---------------+-------
Taylor Swift | t
Elvis Presley | f
(2 rows)

postgres=# SELECT name, alive::text FROM bools;
name | alive
---------------+-------
Taylor Swift | true
Elvis Presley | false
(2 rows)

postgres=# SELECT name, UPPER(alive::text) AS alive FROM bools;
name | alive
---------------+-------
Taylor Swift | TRUE
Elvis Presley | FALSE
(2 rows)

postgres=# CREATE FUNCTION bool_to_upper(boolean) RETURNS text
postgres-# AS $$ SELECT UPPER(CAST($1 AS text)) $$
postgres-# LANGUAGE SQL;
CREATE FUNCTION

postgres=# SELECT name, bool_to_upper(alive) AS alive FROM bools;
name | alive
---------------+-------
Taylor Swift | TRUE
Elvis Presley | FALSE
(2 rows)

参见 this SQLfiddle有关 Postgresql 9.6 的工作示例。

关于psql - 如何使用 psql 格式化 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51716594/

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