数据仓库服务 GAUSSDB(DWS)-范围类型:构造范围

时间:2024-09-05 10:32:36

构造范围

每一种范围类型都有一个与其同名的构造器函数。使用构造器函数比写一个范围文字常数更方便,因为它避免了对界限值的额外引用。构造器函数接受两个或三个参数。两个参数的形式以标准的形式构造一个范围(包含下界,排除上界),而三个参数的形式按照第三个参数指定的界限形式构造一个范围。第三个参数必须是下列字符串之一: “()”、 “(]”、 “[)”或者 “[]”。 例如:

完整形式是:下界、上界以及指示界限包含性/排除性的文本参数:

SELECT numrange(1.0, 14.0, '(]');
  numrange
------------
 (1.0,14.0]
(1 row)

如果第三个参数被忽略,则假定为 '[)':

SELECT numrange(1.0, 14.0);
  numrange
------------
 [1.0,14.0)
(1 row)

尽管这里指定了'(]',单返回结果时该值将被转换成标准形式,因为int8range是一种离散范围类型

SELECT int8range(1, 14, '(]');
 int8range
-----------
 [2,15)
(1 row)

界限使用NULL导致范围是无界的:

SELECT numrange(NULL, 2.2);
 numrange
----------
 (,2.2)
(1 row)
support.huaweicloud.com/sqlreference-dws/dws_06_0370.html