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

时间:2025-02-12 15:05:53

字符串操作符

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

  • octet_length(string)

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

    返回值类型:int

    示例:

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

    描述:替换子串。

    返回值类型:bytea

    示例:

    12345
    gaussdb=# 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

    示例:

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

    描述:截取子串。

    返回值类型:bytea

    示例:

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

    描述:截取子串。

    返回值类型:bytea

    示例:

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

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

    返回值类型:bytea

    示例:

    12345
    gaussdb=# SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) AS RESULT;  result  ---------- \x546f6d(1 row)
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0359.html