PostgreSQL enum_first() 函数

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

enum_first() 语法

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

enum_first(enum_value ANYENUM) -> ANYENUM

参数

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

返回值

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

enum_first() 示例

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

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

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

SELECT enum_first(null::my_number);
 enum_first
------------
 one

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

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

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

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

这里,我们传入了所有的 my_number 类型的枚举值,enum_first() 函数都返回了 my_number 中的第一个枚举值 one