云数据库 GAUSSDB-UNION,CASE和相关构造:UNION,CASE和相关构造解析

时间:2024-11-02 18:50:31

UNION,CASE和相关构造解析

  • 如果所有输入都是相同的类型,并且不是unknown类型,那么解析成这种类型。
  • 如果所有输入都是unknown类型则解析成text类型(字符串类型范畴的首选类型)。否则,忽略unknown输入(例外:Union操作会将一组两个unkown类型解析成text类型,然后继续与其他组进行类型匹配选择)。
  • 如果输入不属于同一个类型范畴,则失败。(unknown类型除外)
  • 如果输入类型是同一个类型范畴,则选择该类型范畴的首选类型。(例外:Union操作会选择第一个分支的类型作为所选类型。)

    系统表pg_type中typcategory表示数据类型范畴,typispreferred表示是否是typcategory分类中的首选类型。

  • 把所有输入转换为所选的类型(对于字符串保持原有长度)。如果从给定的输入到所选的类型没有隐式转换则失败。
  • 若输入中含json、txid_snapshot、sys_refcursor或几何类型,则不能进行union。
support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-12-0408.html