SELECT 輸出列 #前面各節給出的規則將導致 SQL 查詢中的所有表示式都被賦予非 unknown 的資料型別,但 SELECT 命令的簡單輸出列中出現的未指定型別的字面量除外。例如,在
SELECT 'Hello World';
沒有辦法確定該字串字面量的型別應該是怎樣的。在這種情況下,PostgreSQL 將回退並將該字面量的型別解析為 text。
當 SELECT 是 UNION(或 INTERSECT 或 EXCEPT)構造的一部分,或者當它出現在 INSERT ... SELECT 中時,此規則不適用,因為前面各節中的規則優先。在第一種情況下,未指定型別字面量的型別可以從另一個 UNION 分支獲取,在第二種情況下,可以從目標列獲取。
出於此目的,RETURNING 列表與 SELECT 輸出列表的處理方式相同。
在 PostgreSQL 10 之前,此規則不存在,並且 SELECT 輸出列表中的未指定型別字面量將保留為 unknown 型別。這帶來了一系列不好的後果,因此已被更改。
如果您在文件中看到任何不正確之處、與您實際使用的特定功能不符之處,或者需要進一步澄清之處,請使用 此表單 來報告文件問題。