| PostgreSQL 7.4 文檔 | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 10. 類型轉換 | Fast Forward | Next |
SQL 的 UNION 構造必須把那些可能不太相似的類型匹配起來成為一個結果集。 解析算法分別應用于聯合查詢的每個輸出字段。 INTERSET 和EXCEPT構造對不相似的類型使用和 UNION相同的算法進行解析。 CASE 和 ARRAY 構造也使用同樣的算法匹配它的部件表達式並且選擇一個結果數據類型。
UNION,CASE 和 ARRAY 類型解析
如果所有輸入都是類型 unknown,解析成類型text(字串類型的首選類型)。 否則,在選擇結果類型的時候忽略 unknown 輸入。
如果非 unknown 輸入不是全部屬于一個類型範疇,失敗。
選取第一個屬于該範疇中首選類型的非未知輸入類型, 或者是第一個允許所有非未知輸入隱含轉換成它的類型。
把所有輸入轉換成所選類型。
下面是一些例子。
Example 10-7. Union 中的待定類型解析
SELECT text 'a' AS "Text" UNION SELECT 'b'; Text ------ a b (2 rows)
這裡,未知類型文本'b'將被解析成類型text。