# 10.6.选择输出列

前几节中给出的规则将导致分配非未知SQL 查询中所有表达式的数据类型,但未指定类型的文字显示为 a 的简单输出列选择命令。例如,在

SELECT 'Hello World';

没有什么可以确定字符串文字应该被视为什么类型。在这种情况下,PostgreSQL 将回退到将文字的类型解析为文本.

当。。。的时候选择是一个手臂联盟(要么相交或者除了) 构造,或当它出现在插入...选择,此规则不适用,因为前面部分中给出的规则优先。未指定类型文字的类型可以取自另一个联盟arm 在第一种情况下,或从目标列在第二种情况下。

返回列表被视为相同选择为此目的输出列表。

# 笔记

在 PostgreSQL 10 之前,此规则不存在,并且未指定类型的文字在选择输出列表保留为类型未知.这产生了各种各样的不良后果,所以它被改变了。