字符串函数

replace

replace() 返回一个字符串,其中原始字符串中所有出现的指定字符串都被另一个(指定的)字符串替换。

语法:replace(original, search, replace)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式。
search 指定要在 original 中替换的字符串的表达式。
replace 指定替换字符串的表达式。

注意事项:

  • 如果任何参数为 null,将返回 null
  • 如果在 original 中找不到 search,将返回 original

查询:

SELECT *
FROM cypher('graph_name', $$
        RETURN replace('hello', 'l', 'w')
$$) as (str_array agtype);

结果:

 str_array
-----------
 "hewwo"
(1 row)

split

split() 返回一个字符串列表,由原始字符串围绕给定分隔符的匹配进行拆分。

语法:split(original, split_delimiter)

返回值:

agtype 字符串的 agtype 列表。

参数:

名称 描述
original 返回字符串的表达式。
split_delimiter 用于拆分 original 的字符串。

注意事项:

  • split(null, splitDelimiter)split(original, null) 都返回 null

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN split('one,two', ',')
$$) as (split_list agtype);

结果:

   split_list
----------------
 ["one", "two"]
(1 row)

left

left() 返回包含原始字符串最左边指定数量字符的字符串。

语法:left(original, length)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式。
n 返回正整数的表达式。

注意事项:

  • left(null, length)left(null, null) 都返回 null
  • left(original, null) 将引发错误。
  • 如果 length 不是正整数,将引发错误。
  • 如果 length 超过 original 的大小,将返回 original

查询:

SELECT *
FROM cypher('graph_name', $$
        RETURN left('Hello', 3)
$$) as (new_str agtype);

结果:

 new_str
---------
 "Hel"
(1 row)

right

right() 返回包含原始字符串最右边指定数量字符的字符串。

语法:right(original, length)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式。
n 返回正整数的表达式。

注意事项:

  • right(null, length)right(null, null) 都返回 null
  • right(original, null) 将引发错误。
  • 如果 length 不是正整数,将引发错误。
  • 如果 length 超过 original 的大小,将返回 original

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN right('hello', 3)
$$) as (new_str agtype);

结果:

 new_str
---------
 "llo"
(1 row)

substring

substring() 返回原始字符串的子串,从基于 0 的索引 start 开始,长度为 length。

语法:substring(original, start [, length])

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式。
start 表示子串开始位置的表达式。
length 可选表达式,返回正整数,表示从原始表达式中返回多少个字符。

注意事项:

  • start 使用从零开始的索引。
  • 如果省略 length,函数返回从 start 给定位置开始到 original 末尾的子串。
  • 如果 originalnull,返回 null
  • 如果 startlengthnull 或负整数,将引发错误。
  • 如果 start 为 0,子串将从 original 的开头开始。
  • 如果 length 为 0,将返回空字符串。

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN substring('hello', 1, 3), substring('hello', 2)
$$) as (sub_str1 agtype, sub_str2 agtype);

结果:

 sub_str1 | sub_str2
----------+----------
 "ell"    | "llo"
(1 row)

rTrim

rTrim() 返回去除尾部空白的原始字符串。

语法:rTrim(original)

返回值:

agtype 字符串。

参数:

|---|---| |名称|描述| |original|返回字符串的表达式|

注意事项:

  • rTrim(null) 返回 null

查询:

SELECT *

FROM cypher('graph_name', $$
    RETURN rTrim(' hello ')
$$) as (right_trimmed_str agtype);

结果:

 right_trimmed_str
-------------------
 " hello"
(1 row)

lTrim

lTrim() 返回去除前导空白的原始字符串。

语法:lTrim(original)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式

注意事项:

  • lTrim(null) 返回 null

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN lTrim(' hello ')
$$) as (left_trimmed_str agtype);

结果:

 left_trimmed_str
------------------
 "hello "
(1 row)

trim

trim() 返回去除前导和尾部空白的原始字符串。

语法:trim(original)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式

注意事项:

  • trim(null) 返回 null

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN trim(' hello ')
$$) as (trimmed_str agtype);

结果:

 trimmed_str
-------------
 "hello"
(1 row)

toLower

toLower() 返回小写的原始字符串。

语法:toLower(original)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式

注意事项:

  • toLower(null) 返回 null

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN toLower('HELLO')
$$) as (lower_str agtype);

结果:

 lower_str
-----------
 "hello"
(1 row)

toUpper

toUpper() 返回大写的原始字符串。

语法:toUpper(original)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式

注意事项:

  • toUpper(null) 返回 null

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN toUpper('hello')
$$) as (upper_str agtype);

结果:

 upper_str
-----------
 "HELLO"
(1 row)

reverse

reverse() 返回一个字符串,其中原始字符串中所有字符的顺序已被反转。

语法:reverse(original)

返回值:

agtype 字符串。

参数:

名称 描述
original 返回字符串的表达式

注意事项:

  • reverse(null) 返回 null

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN reverse("hello")
$$) as (reverse_str agtype);

结果:

 reverse_str
-------------
 "olleh"
(1 row)

toString

toString() 将整数、浮点数或布尔值转换为字符串。

语法:toString(expression)

返回值:

字符串。

参数:

名称 描述
expression 返回数字、布尔值或字符串的表达式。

注意事项:

  • toString(null) 返回 null
  • 如果 expression 是字符串,将原样返回。

查询:

SELECT *
FROM cypher('graph_name', $$
    RETURN toString(11.5),toString('a string'), toString(true)
$$) as (float_to_str agtype, str_to_str agtype, bool_to_string agtype);

结果:

 float_to_str | str_to_str | bool_to_string
--------------+------------+----------------
 "11.5"       | "a string" | "true"
(1 row)