创建枚举类型:
CREATE TYPE status AS ENUM ('active', 'inactive', 'pending');
查询枚举类型的所有值:
SELECT enum_range(null::status);
枚举值的比较:
SELECT 'active'::status = 'inactive'::status;
获取枚举值的索引:
SELECT enum_rank('inactive'::status);
获取枚举值的标签:
SELECT enum_label('status'::regtype, 2);
将字符串转换为枚举值:
SELECT 'inactive'::status;
将枚举值转换为字符串:
SELECT status_enum::text FROM table_name;
使用枚举值进行条件查询:
SELECT * FROM table_name WHERE status_column = 'active'::status;
使用枚举类型的 CHECK 约束:
CREATE TABLE example_table (
id serial PRIMARY KEY,
status_column status CHECK (status_column IN ('active', 'inactive', 'pending'))
);
这些函数和操作可帮助你有效地处理 PostgreSQL 中的枚举类型。请注意,枚举类型在数据库设计中可以提高数据的可读性和一致性,但也需要谨慎使用,以确保类型的值集不会频繁变化。
转载请注明出处:http://www.zyzy.cn/article/detail/8180/PostgreSQL