【发布时间】:2016-03-30 03:32:35
【问题描述】:
在 PostgreSQL(9.4 版,pgAdmin3)中,当对带有布尔列的表进行选择时,数据输出显示“t”或“f”。我想在不编写 CASE 语句或执行 JOINS 等的情况下将布尔值转换为 TRUE 或 FALSE。
顺便说一句,根据 PostgreSQL 自己的documentation 这种行为不是 SQL 标准。
关键字 TRUE 和 FALSE 是首选(符合 SQL 的)用法。
PS:只有在 pgAdmin 中使用 SQL 编辑器时才会发生这种情况。使用 pgAdmin 对象浏览器,向下钻取到同一个表,右键单击,查看数据,查看前 100 行,相同的布尔列显示为 TRUE 或 FALSE,符合预期/标准。
【问题讨论】:
-
显示为“t”/“f”还是“TRUE”/“FALSE”只是显示问题。布尔值返回 TRUE 或 FALSE 的值(注意,没有引号)。如何在显示器上显示取决于该软件。我强烈建议不要尝试返回字符串值来解决此处的显示问题。
-
正确 - 只是一个外观问题。我将 pgAdmin 添加到我的问题的标题中以进行澄清。也专门在 pgAdmin SQL 编辑器中显示。所以我猜这只是 pgAdmin 下一个版本中的增强请求 - 与他们自己的文档和 SQL 标准保持一致;-)
标签: sql postgresql boolean