如何在postgresql中显示null、空字符串、空格?

it_*_*ure 2 postgresql null space

执行以下语句创建数据库并创建表,然后插入 null、空字符串、空格和字符串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');
Run Code Online (Sandbox Code Playgroud)

所有数据 - null 、空字符串、空格在选择时显示为相同的空白。

在此输入图像描述

如何正确地展示它们?

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

遗留问题:如何区分空字符串''和空白' '?设置一些内容以更好地在 psql shell 中显示空字符串'' 和空白' '

Lau*_*lbe 5

这就是我要做的psql

\n
test=> \\pset null '(null)'\nNull display is "(null)".\ntest=> SELECT id, '"' || content || '"' FROM test;\n id \xe2\x94\x82 ?column? \n\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xaa\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n  1 \xe2\x94\x82 (null)\n  2 \xe2\x94\x82 ""\n  3 \xe2\x94\x82 " "\n  4 \xe2\x94\x82 "x"\n(4 rows)\n
Run Code Online (Sandbox Code Playgroud)\n

  • 有些人可能喜欢“\pset null '∅'”,它(在我的字体中)在充满常规文本值的表格中在视觉上有点突出。考虑将其放入 ~/.psqlrc 中。 (2认同)