PostgreSQL学习篇9.16 range类型

来源:互联网 发布:斯托克斯公式矩阵 编辑:程序博客网 时间:2024/06/05 04:56
第一次见。range类型,可以进行范围快速搜索。用于表示范围,而范围底下的基本类型成为range类型的subtype。range类型:int4range:4字节整数的范围类型int8range:8字节整数的范围类型numrange:numeric的范围类型tsrange:无时区的时间戳范围类型tstzrange:有时区的时间戳范围类型datarange:日期的范围类型还可以使用create type创建一些range类型:create type tname as range(subtype=subtype     --指定子类型[,subtype_opclass=subtype_operation_class]    --指定子类型的操作符[,collation = collation]       ---指定排序规则'('  ')' 表示范围内不包括此元素,'[' ']' 表示范围内包括此元素。如果是稀疏类型的range,其内部存储格式为"'[v1,v2)'"。empty表示空,即范围内不包括任何东西。postgres=# select '(0,6)'::int4range; int4range----------- [1,6)(1 row)postgres=# select '[0,6)'::int4range; int4range----------- [0,6)(1 row)postgres=# select '[0,6]'::int4range; int4range----------- [0,7)(1 row)postgres=# select 'empty'::int4range; int4range----------- empty(1 row)postgres=# select '(0,6)'::numrange; numrange---------- (0,6)(1 row)postgres=# select '[0,6)'::numrange; numrange---------- [0,6)(1 row)postgres=# select '[0,6]'::numrange; numrange---------- [0,6](1 row)postgres=# select '(0,6]'::numrange; numrange---------- (0,6](1 row)postgres=# select 'empty'::numrange; numrange---------- empty(1 row)postgres=# select int4range(1,10,'[)'); int4range----------- [1,10)(1 row)

0 0