PostgreSQL中的枚举类型(Enum)

    在PostgreSQL中,需要先使用create type 创建枚举类型。

1.创建枚举类型

create type week as enum('Sun','Mon','Tues','Wed','Thur','Fri','Sat');

2.创建表

create table duty(
    person text,
    weekday week
);

3.插入数据

insert into duty values('April','Sun');
insert into duty values('Harris','Mon');
insert into duty values('Dave','Wed');

    如果输入不在枚举类型中,则会报错。 

4.查询

select * from duty;

 PostgreSQL中的枚举类型(Enum)_第1张图片

   在枚举类型中,值的顺序是创建枚举类型时定义的顺序。一些运算符和聚类函数支持枚举类型。

select min(weekday),max(weekday) from duty;

  PostgreSQL中的枚举类型(Enum)_第2张图片

5.查询枚举类型定义

   可以使用 \dT 查询枚举类型的定义。

\dT+

    运行结果

PostgreSQL中的枚举类型(Enum)_第3张图片

   也可以查询表pg_enum查看枚举类型的定义。

select * from pg_enum;

    运行结果

  PostgreSQL中的枚举类型(Enum)_第4张图片

6.总结

  (1)在枚举类型中,值的顺序是创建枚举类型时定义的顺序。

  (2)一个枚举值在磁盘上占4字节。

  (3)枚举类型的值时大小写敏感的。

 

 

你可能感兴趣的:(PostgreSQL)