# 9.10.枚举支持函数

对于枚举类型(如中所述)第8.7节),有几个函数允许更简洁的编程,而无需硬编码枚举类型的特定值。这些都列在表9.34。示例假定创建的枚举类型为:

CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');

表9.34.枚举支持函数

作用

描述

例子
enum_优先(任何枚举) →任何枚举

返回输入枚举类型的第一个值。

enum_first(空::彩虹)红色
最后一次(任何枚举) →任何枚举

返回输入枚举类型的最后一个值。

枚举上次(空::彩虹)紫色
枚举范围 ( 任何枚举 ) → 任意数组

返回有序数组中输入枚举类型的所有值。

枚举范围(空::彩虹){红色,橙色,黄色,​绿色,蓝色,紫色}
枚举范围 ( 任何枚举, 任何枚举 ) → 任意数组

以有序数组的形式返回两个给定枚举值之间的范围。这些值必须来自同一枚举类型。如果第一个参数为null,则结果将以枚举类型的第一个值开始。如果第二个参数为null,则结果将以枚举类型的最后一个值结束。

枚举范围('橙色'::彩虹,'绿色'::彩虹){橙色、黄色、绿色}

枚举范围(空,“绿色”::彩虹){红色,橙色,​黄色,绿色}

枚举范围('橙色'::彩虹,空){橙色,黄色,绿色,​蓝色,紫色}

请注意,除了枚举范围,这些函数忽略传递给它们的特定值;它们只关心其声明的数据类型。可以传递null或该类型的特定值,结果相同。将这些函数应用于表列或函数参数比应用于示例中使用的硬连线类型名称更常见。