在 PostgreSQL 中,范围(Range)是一种表示一段连续的数值范围的数据类型。范围可以包含数字、日期、时间等类型。以下是一些常用的 PostgreSQL 范围函数和运算符:

范围构造函数:

1. range:
   - 描述:构造一个范围。
   - 示例:
     SELECT range(1, 5);

范围访问函数:

1. lower 和 upper:
   - 描述:返回范围的下限和上限。
   - 示例:
     SELECT lower(int4range(1, 5)), upper(int4range(1, 5));

2. isempty:
   - 描述:检查范围是否为空。
   - 示例:
     SELECT isempty(int4range(1, 5)), isempty(int4range(5, 1));

范围操作符:

1. &&:
   - 描述:检查两个范围是否有交集。
   - 示例:
     SELECT int4range(1, 5) && int4range(3, 7);

2. <, <=, >, >=:
   - 描述:用于比较两个范围的关系。
   - 示例:
     SELECT int4range(1, 5) < int4range(6, 10);

范围函数:

1. range_merge:
   - 描述:将相邻的范围合并。
   - 示例:
     SELECT range_merge(ARRAY[int4range(1, 5), int4range(6, 10), int4range(8, 12)]);

2. range_intersect:
   - 描述:计算两个范围的交集。
   - 示例:
     SELECT range_intersect(int4range(1, 5), int4range(3, 7));

范围构造函数:

1. numrange、tsrange、tstzrange、daterange:
   - 描述:分别用于构造整数范围、时间戳范围、带时区的时间戳范围、日期范围。
   - 示例:
     SELECT numrange(1, 5), tsrange('2023-01-01', '2023-01-05'), tstzrange('2023-01-01 00:00:00+00', '2023-01-05 23:59:59+00'), daterange('2023-01-01', '2023-01-05');

这些函数和运算符可以帮助你在 PostgreSQL 中有效地处理范围类型的数据,支持范围的构造、访问、操作和比较。


转载请注明出处:http://www.zyzy.cn/article/detail/8190/PostgreSQL