你说你看不懂openGauss我都不信(二十八)

126 阅读2分钟

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/

  • 范围输入输出

    一个范围值的输入必须遵循下列模式之一:

    (lower-bound,upper-bound) 
    (lower-bound,upper-bound] 
    [lower-bound,upper-bound) 
    [lower-bound,upper-bound] 
    empty 
    

    圆括号或方括号指示上下界是否为排除的或者包含的。注意最后一个模式是empty,它表示一个空范围(一个不包含点的范围)。

    _lower-bound_可以是作为subtype的合法输入的一个字符串,或者是空表示没有下界。同样,_upper-bound_可以是作为 subtype 的合法输入的一个字符串,或者是空表示没有上界。

    每个界限值可以使用"(双引号)字符引用。如果界限值包含圆括号、方括号、逗号、双引号或反斜线时,这样做是必须的,因为否则那些字符会被认作范围语法的一部分。要把一个双引号或反斜线放在一个被引用的界限值中,就在它前面放一个反斜线(还有,在一个双引号引用的界限值中的一对双引号表示一个双引号字符,这与 SQL 字符串中的单引号规则类似)。此外,你可以避免引用并且使用反斜线转义来保护所有数据字符,否则它们会被当做返回语法的一部分。还有,要写一个是空字符串的界限值,则可以写成"",因为什么都不写表示一个无限界限。

    范围值前后允许有空格,但是圆括号或方括号之间的任何空格会被当做上下界值的一部分(取决于元素类型,它可能是也可能不是有意义的)。

    例子:

    -- 包括 3,不包括 7,并且包括 3 和 7 之间的所有点 
    SELECT '[3,7)'::int4range;  
    -- 既不包括 3 也不包括 7,但是包括之间的所有点 
    SELECT '(3,7)'::int4range;  
    -- 只包括单独一个点 4 
    SELECT '[4,4]'::int4range;  
    -- 不包括点(并且将被标准化为 '空') 
    SELECT '[4,4)'::int4range; 
    

#openGauss #入门 #安装 #数据库 #开源

知识来源:docs-opengauss.osinfra.cn/zh/