云数据库 GAUSSDB-二进制字符串函数和操作符:字符串操作符

时间:2024-01-23 20:08:27

字符串操作符

SQL定义了一些字符串函数,在这些函数里使用关键字而不是逗号来分隔参数。

  • octet_length(string)

    描述:二进制字符串中的字节数。

    返回值类型:int

    示例:

    1
    2
    3
    4
    5
    openGauss=# SELECT octet_length(E'jo\\000se'::bytea) AS RESULT;
     result
    --------
          5
    (1 row)
    
  • overlay(string placing string from int [for int])

    描述:替换子串。

    返回值类型:bytea

    示例:

    1
    2
    3
    4
    5
    openGauss=# SELECT overlay(E'Th\\000omas'::bytea placing E'\\002\\003'::bytea from 2 for 3) AS RESULT;
         result     
    ----------------
     \x5402036d6173
    (1 row)
    
  • position(substring in string)

    描述:特定子字符串的位置。

    返回值类型:int

    示例:

    1
    2
    3
    4
    5
    openGauss=# SELECT position(E'\\000om'::bytea in E'Th\\000omas'::bytea) AS RESULT;
     result
    --------
          3
    (1 row)
    
  • substring(string [from int] [for int])

    描述:截取子串。

    返回值类型:bytea

    示例:

    1
    2
    3
    4
    5
    openGauss=# SELECT substring(E'Th\\000omas'::bytea from 2 for 3) AS RESULT; 
      result  
    ----------
     \x68006f
    (1 row)
    
  • substr(string, from int [, for int])

    描述:截取子串。

    返回值类型:bytea

    示例:

    1
    2
    3
    4
    5
    openGauss=# select substr(E'Th\\000omas'::bytea,2, 3) as result;
      result
    ----------
     \x68006f
    (1 row)
    
  • trim([both] bytes from string)

    描述:从string的开头和结尾删除只包含bytes中字节的最长字符串。

    返回值类型:bytea

    示例:

    1
    2
    3
    4
    5
    openGauss=# SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) AS RESULT;
      result  
    ----------
     \x546f6d
    (1 row)
    
support.huaweicloud.com/centralized-devg-v2-gaussdb/devg_03_0385.html