跳转至

内置字符串函数

Nebula Graph 支持以下内置字符串函数。

Note

和 SQL 一样,nGQL 的字符索引(位置)从1开始。但是 C 语言的字符索引是从0开始的。

函数 说明
int strcasecmp(string a, string b) 比较两个字符串(不区分大小写)。当 a=b 时,返回 0,当 a>b 是,返回大于 0 的数,当 a<b 时,返回小于 0 的数。
string lower(string a) 返回小写形式的字符串。
string toLower(string a) lower()相同。
string upper(string a) 返回大写形式的字符串。
string toUpper(string a) upper()相同。
int length(string a) 以字节为单位,返回给定字符串的长度。
string trim(string a) 删除字符串头部和尾部的空格。
string ltrim(string a) 删除字符串头部的空格。
string rtrim(string a) 删除字符串尾部的空格。
string left(string a, int count) 返回字符串左侧count个字符组成的子字符串。如果count超过字符串 a 的长度,则返回字符串 a。
string right(string a, int count) 返回字符串右侧count个字符组成的子字符串。如果count超过字符串 a 的长度,则返回字符串 a。
string lpad(string a, int size, string letters) 在字符串 a 的左侧填充letters字符串,并返回size长度的字符串。
string rpad(string a, int size, string letters) 在字符串 a 的右侧填充letters字符串,并返回size长度的字符串。
string substr(string a, int pos, int count) 从字符串 a 的指定位置pos开始(不包括pos位置的字符),提取右侧的count个字符,组成新的字符串并返回。
string substring(string a, int pos, int count) substr()相同。
string reverse(string) 逆序返回字符串。
string replace(string a, string b, string c) 将字符串 a 中的子字符串 b 替换为字符串 c。
list split(string a, string b) 在子字符串 b 处拆分字符串 a,返回一个字符串列表。
string toString() 将任意数据类型转换为字符串类型。
int hash() 获取任意对象的哈希值。

Note

如果参数为NULL,则输出结果是未定义的。

substr()substring()的返回说明

  • 字符索引(位置)从0开始。
  • 如果pos为 0,则返回整个字符串。
  • 如果pos大于最大字符索引,则返回空字符串。
  • 如果pos是负数,则返回BAD_DATA
  • 如果省略count,则返回从pos位置开始到字符串末尾的子字符串。
  • 如果count为 0,则返回空字符串。
  • 使用NULL作为任何参数会出现错误

openCypher 兼容性

  • 在 openCypher 中,如果字符串anull,会返回null
  • 在 openCypher 中,如果pos为 0,会返回从第一个字符开始 count个字符的子字符串。
  • 在 openCypher 中,如果poscountnull或负整数,会出现错误。

最后更新: March 7, 2023