内置字符串函数
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中,如果字符串
a
为null
,会返回null
。- 在openCypher中,如果
pos
为0,In openCypher, ifpos
is 0, 会返回从第一个字符开始、count
个字符的子字符串。- 在openCypher中,如果
pos
或count
为null
或负整数,会出现错误。