2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10

10.6. SELECT 輸出列 #

前面各節給出的規則將導致 SQL 查詢中的所有表示式都被賦予非 unknown 的資料型別,但 SELECT 命令的簡單輸出列中出現的未指定型別的字面量除外。例如,在

SELECT 'Hello World';

沒有辦法確定該字串字面量的型別應該是怎樣的。在這種情況下,PostgreSQL 將回退並將該字面量的型別解析為 text

SELECTUNION(或 INTERSECTEXCEPT)構造的一部分,或者當它出現在 INSERT ... SELECT 中時,此規則不適用,因為前面各節中的規則優先。在第一種情況下,未指定型別字面量的型別可以從另一個 UNION 分支獲取,在第二種情況下,可以從目標列獲取。

出於此目的,RETURNING 列表與 SELECT 輸出列表的處理方式相同。

注意

PostgreSQL 10 之前,此規則不存在,並且 SELECT 輸出列表中的未指定型別字面量將保留為 unknown 型別。這帶來了一系列不好的後果,因此已被更改。

提交更正

如果您在文件中看到任何不正確之處、與您實際使用的特定功能不符之處,或者需要進一步澄清之處,請使用 此表單 來報告文件問題。