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;
在枚举类型中,值的顺序是创建枚举类型时定义的顺序。一些运算符和聚类函数支持枚举类型。
select min(weekday),max(weekday) from duty;
5.查询枚举类型定义
可以使用 \dT 查询枚举类型的定义。
\dT+
运行结果
也可以查询表pg_enum查看枚举类型的定义。
select * from pg_enum;
运行结果
6.总结
(1)在枚举类型中,值的顺序是创建枚举类型时定义的顺序。
(2)一个枚举值在磁盘上占4字节。
(3)枚举类型的值时大小写敏感的。