深入浅出PostgreSQL
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.7 枚举类型

枚举(enum)类型包含一组静态有序的值。枚举类型和很多编程语言所支持的枚举类型是等价的。枚举类型常用于一周中的日期,或者一个数据的状态值集合。

4.7.1 声明枚举类型

枚举类型可以使用CREATE TYPE创建,代码如下:

在创建枚举类型后,就可以将其作为PostgresSQL预定义的类型使用了,代码如下:

4.7.2 排序

一个枚举类型值的顺序是该类型被创建时所列出的值的顺序。枚举类型支持所有的标准比较运算符和相关聚集函数。

【举例】排序的基本操作,代码如下:

4.7.3 注意枚举类型安全性

每一种枚举类型都是独立的,并且不能和其他枚举类型进行比较,代码如下:

如果确实需要将两个不同的枚举类型进行比较,则用户可以写一个自定义的运算符,或者在查找语句中添加显式格式,代码如下: