PostgreSQL enum_last() 函数使用指南

PostgreSQL enum_last() 函数返回由参数指定的枚举类型的最后一个枚举值。

enum_last() 语法

这里是 PostgreSQL enum_last() 函数的语法:

enum_last(enum_value ANYENUM) -> ANYENUM

参数

enum_value
必需的。 一个枚举值。 通常,传入一个 null 值。

返回值

PostgreSQL enum_last() 函数返回由参数指定的枚举类型的最后一个枚举值。

enum_last() 示例

首先,让我们使用 CREATE TYPE 语句创建一个枚举类型 my_number

CREATE TYPE my_number AS ENUM (
    'one',
    'two',
    'three',
    'four',
    'five',
    'six',
    'seven',
    'eight',
    'nine',
    'ten'
);

然后,让我们使用 PostgreSQL enum_last() 函数返回 my_number 中的最后一个枚举值:

SELECT enum_last(null::my_number);
 enum_last
-----------
 ten

这里,我们为 enum_last() 函数提供了一个 my_number 类型的 null 参数 null::my_number,并且 enum_last() 函数返回了 my_number 中的最后一个枚举值 ten

注意,您不能省略 null::my_number 中的 ::my_number,否则 PostgreSQL 将会给出一个错误。

当然,您也可以传入任何一个 my_number 类型的枚举值,比如:

SELECT
    enum_last('one'::my_number),
    enum_last('two'::my_number),
    enum_last('three'::my_number),
    enum_last('four'::my_number),
    enum_last('five'::my_number),
    enum_last('six'::my_number),
    enum_last('seven'::my_number),
    enum_last('eight'::my_number),
    enum_last('nine'::my_number),
    enum_last('ten'::my_number);
-[ RECORD 1 ]--
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten
enum_last | ten

这里,我们传入了所有的 my_number 类型的枚举值,enum_last() 函数都返回了 my_number 中的最后一个枚举值 ten