gpt4 book ai didi

sql - Postgres查询的输出格式不一致

转载 作者:行者123 更新时间:2023-12-03 23:06:27 26 4
gpt4 key购买 nike

我正在查询 Postgres 数据库的 3 个 varchar(n) 字段,如下所示:

Select ("Title","Author","Isbn") from public."Book" Where 1=1

查询的输出是一个包含 3 个字符串的元组。然而,输出的格式有时在记录之间不一致。请注意查询的输出:

enter image description here

请注意第 40 行和第 41/42 行之间第一个元素的差异。第 40 行的第一个元素是“革命之路”(用双引号括起来)。第 41 行的第一个元素是 Neuromancer(未用引号括起来)。同样的现象也发生在查询集中的其他地方。

我不确定为什么第一个元素有时与查询返回的方式不一致。这不是个人记录本身的问题。还有什么可能是错的?

最佳答案

结果是正确的。在这种输出格式中,当字符串有空格或一些特殊字符时,Postgres 使用引号:

postgres=# select row('ahoj', 'ahoj svete', 'ahoj,svete', '"ahoj svete"');
┌───────────────────────────────────────────────────┐
│ row │
╞═══════════════════════════════════════════════════╡
│ (ahoj,"ahoj svete","ahoj,svete","""ahoj svete""") │
└───────────────────────────────────────────────────┘
(1 row)

如果您不想要复合值的输出格式,请不要使用 row构造函数:
postgres=# select 'ahoj', 'ahoj svete', 'ahoj,svete', '"ahoj svete"';
┌──────────┬────────────┬────────────┬──────────────┐
│ ?column? │ ?column? │ ?column? │ ?column? │
╞══════════╪════════════╪════════════╪══════════════╡
│ ahoj │ ahoj svete │ ahoj,svete │ "ahoj svete" │
└──────────┴────────────┴────────────┴──────────────┘
(1 row)

关于sql - Postgres查询的输出格式不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62421198/

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