云数据库 GAUSSDB-范围类型:构造范围

时间:2024-11-13 14:45:33

构造范围

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

-- 完整形式是:下界、上界以及指示界限包含性/排除性的文本参数。 
gaussdb=# SELECT numrange(1.0, 14.0, '(]');  
  numrange  
------------
 (1.0,14.0]
(1 row)
-- 如果第三个参数被忽略,则假定为 '[)'。 
gaussdb=# SELECT numrange(1.0, 14.0);  
  numrange  
------------
 [1.0,14.0)
(1 row)
-- 尽管这里指定了 '(]',显示时该值将被转换成标准形式,因为int8range是一种离散范围类型(见下文)。 
gaussdb=# SELECT int8range(1, 14, '(]');  
 int8range 
-----------
 [2,15)
(1 row)
-- 为一个界限使用NULL导致范围在那一边是无界的。 
gaussdb=# SELECT numrange(NULL, 2.2); 
 numrange 
----------
 (,2.2)
(1 row)
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0345.html