openGauss高级数据库管理:函数——字符串函数和操作符

字符串函数和操作符

  • string || string

    描述:连接字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT 'MPP'||'DB' AS RESULT;
     result 
    --------
     MPPDB
    (1 row)
    
  • bit_length(string)

    描述:字符串的位数。

    返回值类型:int

    示例:

    openGauss=# SELECT bit_length('world');
     bit_length
    ------------
             40
    (1 row)
    
  • convert(string bytea, src_encoding name, dest_encoding name)

    描述:以dest_encoding指定的目标编码方式转化字符串bytea。src_encoding指定源编码方式,在该编码下,string必须是合法的。

    返回值类型:bytea

    示例:

    openGauss=# SELECT convert('text_in_utf8', 'UTF8', 'GBK');
              convert        
    ----------------------------
     \x746578745f696e5f75746638
    (1 row)
    
  • lower(string)

    描述:把字符串转化为小写。

    返回值类型:varchar

    示例:

    openGauss=# SELECT lower('TOM');
     lower
    -------
     tom
    (1 row)
    
  • octet_length(string)

    描述:字符串中的字节数。

    返回值类型:int

    示例:

    openGauss=# SELECT octet_length('jose');
     octet_length
    --------------
                4
    (1 row)
    
  • overlay(string placing string FROM int [for int])

    描述:替换子字符串。FROM int表示从第一个string的第几个字符开始替换,for int表示替换第一个string的字符数目。

    返回值类型:text

    示例:

    openGauss=# SELECT overlay('hello' placing 'world' from 2 for 3 );
     overlay 
    ---------
     hworldo
    (1 row)
    
  • position(substring in string)

    描述:指定子字符串的位置。字符串区分大小写。

    返回值类型:int,字符串不存在时返回0。

    示例:

    openGauss=# SELECT position('ing' in 'string');
     position
    ----------
            4
    (1 row)
    
  • substring(string [from int] [for int])

    描述:截取子字符串,from int表示从第几个字符开始截取,for int表示截取几个字节。

    返回值类型:text

    示例:

    openGauss=# SELECT substring('Thomas' from 2 for 3);
     substring
    -----------
     hom
    (1 row)
    
  • substring(string from pattern)

    描述:截取匹配POSIX正则表达式的子字符串。如果没有匹配它返回空值,否则返回文本中匹配模式的那部分。

    返回值类型:text

    示例:

    openGauss=# SELECT substring('Thomas' from '...$');
     substring
    -----------
     mas
    (1 row)
    openGauss=# SELECT substring('foobar' from 'o(.)b');
     result 
    --------
     o
    (1 row)
    openGauss=# SELECT substring('foobar' from '(o(.)b)');
     result 
    --------
     oob
    (1 row)
    
  • trim([leading |trailing |both] [characters] from string)

    描述:从字符串string的开头、结尾或两边删除只包含characters中字符(缺省是一个空白)的最长的字符串。

    返回值类型:varchar

    示例:

    openGauss=# SELECT trim(BOTH 'x' FROM 'xTomxx');
     btrim
    -------
     Tom
    (1 row)
    
    openGauss=# SELECT trim(LEADING 'x' FROM 'xTomxx');
     ltrim
    -------
     Tomxx
    (1 row)
    
    openGauss=# SELECT trim(TRAILING 'x' FROM 'xTomxx');
     rtrim
    -------
     xTom
    (1 row)
    
  • upper(string)

    描述:把字符串转化为大写。

    返回值类型:varchar

    示例:

    openGauss=# SELECT upper('tom');
     upper
    -------
     TOM
    (1 row)
    
  • ascii(string)

    描述:参数string的第一个字符的ASCII码。

    返回值类型:integer

    示例:

    openGauss=# SELECT ascii('xyz');
     ascii 
    -------
       120
    (1 row)
    
  • btrim(string text [, characters text])

    描述:从string开头和结尾删除只包含characters中字符(缺省是空白)的最长字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT btrim('sring' , 'ing');
     btrim
    -------
     sr
    (1 row)
    
  • chr(integer)

    描述:给出ASCII码的字符。

    返回值类型:varchar

    示例:

    openGauss=# SELECT chr(65);
     chr
    -----
     A
    (1 row)
    
  • convert(string bytea, src_encoding name, dest_encoding name)

    描述:以dest_encoding指定的目标编码方式转化字符串bytea。src_encoding指定源编码方式,在该编码下,string必须是合法的。

    返回值类型:bytea

    示例:

    openGauss=# SELECT convert('text_in_utf8', 'UTF8', 'GBK');
              convert        
    ----------------------------
     \x746578745f696e5f75746638
    (1 row)
    
  • initcap(string)

    描述:将字符串中的每个单词的首字母转化为大写,其他字母转化为小写。

    返回值类型:text

    示例:

    openGauss=# SELECT initcap('hi THOMAS');
      initcap
    -----------
     Hi Thomas
    (1 row)
    
  • length(string)

    描述:获取参数string中字符的数目。

    返回值类型:integer

    示例:

    openGauss=# SELECT length('abcd');
     length 
    --------
          4
    (1 row)
    
  • lpad(string text, length int [, fill text])

    描述:通过填充字符fill(缺省时为空白),把string填充为length长度。如果string已经比length长则将其尾部截断。

    返回值类型:text

    示例:

    openGauss=# SELECT lpad('hi', 5, 'xyza');
     lpad  
    -------
     xyzhi
    (1 row)
    
  • ltrim(string [, characters])

    描述:从字符串string的开头删除只包含characters中字符(缺省是一个空白)的最长的字符串。

    返回值类型:varchar

    示例:

    openGauss=# SELECT ltrim('xxxxTRIM','x');
     ltrim
    -------
     TRIM
    (1 row)
    
  • md5(string)

    描述:将string使用MD5加密,并以16进制数作为返回值。

     说明: MD5加密算法安全性低,存在安全风险,不建议使用。

    返回值类型:text

    示例:

    openGauss=# SELECT md5('ABC');
                   md5                
    ----------------------------------
     902fbdd2b1df0c4f70b4a5d23525e932
    (1 row)
    
  • repeat(string text, number int )

    描述:将string重复number次。

    返回值类型:text。

    示例:

    openGauss=# SELECT repeat('Pg', 4);
      repeat
    ----------
     PgPgPgPg
    (1 row)
    
  • replace(string text, from text, to text)

    描述:把字符串string里出现地所有子字符串from的内容替换成子字符串to的内容。

    返回值类型:text

    示例:

    openGauss=# SELECT replace('abcdefabcdef', 'cd', 'XXX');
        replace     
    ----------------
     abXXXefabXXXef
    (1 row)
    
  • rpad(string text, length int [, fill text])

    描述:使用填充字符fill(缺省时为空白),把string填充到length长度。如果string已经比length长则将其从尾部截断。

    返回值类型:text

    示例:

    openGauss=# SELECT rpad('hi', 5, 'xy');
     rpad
    -------
     hixyx
    (1 row)
    
  • rtrim(string text [, characters text])

    描述:从字符串string的结尾删除只包含characters中字符(缺省是个空白)的最长的字符串。

    返回值类型:text

    示例:

    openGauss=# SELECT rtrim('trimxxxx', 'x');
     rtrim
    -------
     trim
    (1 row)
    
  • split_part(string text, delimiter text, field int)

    描述:根据delimiter分隔string返回生成的第field个子字符串(从出现第一个delimiter的text为基础)。

    返回值类型:text

    示例:

    openGauss=# SELECT split_part('abc~@~def~@~ghi', '~@~', 2);
     split_part
    ------------
     def
    (1 row)
    
  • strpos(string, substring)

    描述:指定的子字符串的位置。和position(substring in string)一样,不过参数顺序相反。

    返回值类型:int

    示例:

    openGauss=# SELECT strpos('source', 'rc');
     strpos
    --------
          4
    (1 row)
    
  • to_hex(number int or bigint)

    描述:把number转换成十六进制表现形式。

    返回值类型:text

    示例:

    openGauss=# SELECT to_hex(2147483647);
      to_hex
    ----------
     7fffffff
    (1 row)
    
  • translate(string text, from text, to text)

    描述:把在string中包含的任何匹配from中字符的字符转化为对应的在to中的字符。如果from比to长,删掉在from中出现的额外的字符。

    返回值类型:text

    示例:

    openGauss=# SELECT translate('12345', '143', 'ax');
     translate
    -----------
     a2x5
    (1 row)
posted @ 2024-05-21 15:13  openGauss-bot  阅读(166)  评论(0)    收藏  举报