加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL学习篇9.16 range类型

发布时间:2020-12-13 16:59:18 所属栏目:百科 来源:网络整理
导读:第一次见。range类型,可以进行范围快速搜索。用于表示范围,而范围底下的基本类型成为range类型的subtype。range类型:int4range:4字节整数的范围类型int8range:8字节整数的范围类型numrange:numeric的范围类型tsrange:无时区的时间戳范围类型tstzrange:
第一次见。
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]'::int4range;
 int4range
-----------
 [0,7)
(1 row)

postgres=# select 'empty'::int4range;
 int4range
-----------
 empty
(1 row)


postgres=# select '(0,6)'::numrange;
 numrange
----------
 (0,6)'::numrange;
 numrange
----------
 [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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读