Enum 函数
本节介绍用于检查和操作 ENUM 值 的函数和运算符。
以下示例假设已创建如下 enum 类型:
CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy', 'anxious');
这些函数可接受 NULL 或该类型的具体值作为参数。
除 enum_range_boundary 外,结果仅取决于参数类型,而不取决于其具体值。
| 名称 | 描述 |
|---|---|
enum_code(enum_value) | 返回给定 enum 值对应的底层数值。 |
enum_first(enum) | 返回输入 enum 类型的第一个值。 |
enum_last(enum) | 返回输入 enum 类型的最后一个值。 |
enum_range(enum) | 以数组形式返回输入 enum 类型的所有值。 |
enum_range_boundary(enum, enum) | 以数组形式返回两个给定 enum 值之间的范围。 |
enum_code(enum_value)
| 描述 | 返回给定 enum 值对应的底层数值。 |
| 示例 | enum_code('happy'::mood) |
| 结果 | 2 |
enum_first(enum)
| 描述 | 返回输入 enum 类型的第一个值。 |
| 示例 | enum_first(NULL::mood) |
| 结果 | sad |
enum_last(enum)
| 描述 | 返回输入 enum 类型的最后一个值。 |
| 示例 | enum_last(NULL::mood) |
| 结果 | anxious |
enum_range(enum)
| 描述 | 以数组形式返回输入 enum 类型的所有值。 |
| 示例 | enum_range(NULL::mood) |
| 结果 | [sad, ok, happy, anxious] |
enum_range_boundary(enum, enum)
| 描述 | 以数组形式返回两个给定 enum 值之间的范围。两个值必须属于同一 enum 类型。当第一个参数为 NULL 时,结果从该 enum 类型的第一个值开始;当第二个参数为 NULL 时,结果到该 enum 类型的最后一个值结束。 |
| 示例 | enum_range_boundary(NULL, 'happy'::mood) |
| 结果 | [sad, ok, happy] |