11.6. SELECT的输出列

前面的小节中给出的规则将会导致对SQL查询中的所有表达式分配非unknown数据类型,不过作为SELECT命令的简单输出列出现的未指定类型的文本除外。例如,在

SELECT 'Hello World';

中没有标识该字符串应该取何种类型。在这种情况下,LightDB将会退而求其次将其类型决定为text

SELECT处于UNION(或者INTERSECT,或者EXCEPT)结构的一边或者出现在INSERT ... SELECT中时,这条规则就不适用了,因为在前面小节中给出的规则会优先。在第一种情况下未指定类型文本的类型将从UNION的另一边取得,而在第二种情况下未指定类型文本的类型将从目标列取得。

出于这样的目的,RETURNING列表采用和SELECT输出列表同样的方式对待。