如何在 postgresql 中显示 null,空字符串,space?

How to show null ,empty string,space in postgresql?

执行以下语句创建数据库并创建 table 然后插入 null、空字符串和 space 以及字符串 x.

CREATE DATABASE test;
\c test;
CREATE TABLE test (
    id numeric(3,0) PRIMARY KEY,
    content varchar(255)
);
INSERT INTO test (id, content) VALUES (1, NULL);
INSERT INTO test (id, content) VALUES (2, '');
INSERT INTO test (id, content) VALUES (3, ' ');
INSERT INTO test (id, content) VALUES (4, 'x');

所有数据 -- null,空字符串,space 选择它们时显示为相同的空白。

如何正确显示它们?

test=#  \pset null 'Unknown'
Null display is "Unknown".
test=# select * from test;
 id | content 
----+---------
  1 | Unknown
  2 | 
  3 |  
  4 | x
(4 rows)

保留 issue:how 以将空字符串 '' 与空白 ' ' 区分开来?设置一些内容以更好地在 psql 中显示空字符串 '' 和空白 ' ' shell.

从这里开始 psql:

\pset  null 'NULL'

--Or whatever string you want to represent NULL.

select null;
 ?column? 
----------
 NULL
(1 row)


请参阅 文件 下的 psql 如何在 .psqlrc 中保留设置。

据我所知,没有办法对空字符串和空格执行此操作。

这就是我在 psql 中的做法:

test=> \pset null '(null)'
Null display is "(null)".
test=> SELECT id, '"' || content || '"' FROM test;
 id │ ?column? 
════╪══════════
  1 │ (null)
  2 │ ""
  3 │ " "
  4 │ "x"
(4 rows)