跳转至

内置字符串函数

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

说明:和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() 获取任意对象的哈希值。

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

substr()substring()的返回说明

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

OpenCypher兼容性

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

最后更新: 2021年3月29日