字符串函数
Elastic Stack Serverless
用于执行字符串操作的函数。
ASCII(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 整数
描述:以整数形式返回 string_exp
最左侧字符的 ASCII 码值。
SELECT ASCII('Elastic');
ASCII('Elastic')
----------------
69
BIT_LENGTH(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 整数
描述:返回 string_exp
输入表达式的位长度。
SELECT BIT_LENGTH('Elastic');
BIT_LENGTH('Elastic')
---------------------
56
CHAR(code)
输入:
- 介于
0
和255
之间的整数表达式。如果为null
、负数或大于255
,则函数返回null
。
输出: 字符串
描述:返回具有数字输入指定的 ASCII 码值的字符。
SELECT CHAR(69);
CHAR(69)
---------------
E
CHAR_LENGTH(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 整数
描述:如果字符串表达式是字符数据类型,则返回输入的字符长度;否则,返回字符串表达式的字节长度(不小于位数除以 8 的最小整数)。
SELECT CHAR_LENGTH('Elastic');
CHAR_LENGTH('Elastic')
----------------------
7
CONCAT(
string_exp1,
string_exp2)
输入:
- 字符串表达式。将
null
视为空字符串。 - 字符串表达式。将
null
视为空字符串。
输出: 字符串
描述:返回一个字符字符串,该字符串是将 string_exp1
连接到 string_exp2
的结果。
生成的字符串不能超过 1 MB 的字节长度。
SELECT CONCAT('Elasticsearch', ' SQL');
CONCAT('Elasticsearch', ' SQL')
-------------------------------
Elasticsearch SQL
INSERT(
source,
start,
length,
replacement)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 整数表达式。如果
null
,则函数返回null
。 - 整数表达式。如果
null
,则函数返回null
。 - 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回一个字符串,其中从 source
中删除了从 start
开始的 length
个字符,并且将 replacement
插入到 source
中,从 start
开始。
生成的字符串不能超过 1 MB 的字节长度。
SELECT INSERT('Elastic ', 8, 1, 'search');
INSERT('Elastic ', 8, 1, 'search')
----------------------------------
Elasticsearch
LCASE(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回一个与 string_exp
中的字符串相等的字符串,其中所有大写字符都转换为小写。
SELECT LCASE('Elastic');
LCASE('Elastic')
----------------
elastic
LEFT(
string_exp,
count)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 整数表达式。如果
null
,则函数返回null
。如果为0
或负数,则函数返回一个空字符串。
输出: 字符串
描述:返回 string_exp
最左侧的 count 个字符。
SELECT LEFT('Elastic',3);
LEFT('Elastic',3)
-----------------
Ela
LENGTH(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 整数
描述:返回 string_exp
中的字符数,不包括尾随空格。
SELECT LENGTH('Elastic ');
LENGTH('Elastic ')
--------------------
7
LOCATE(
pattern,
source
[, start]<3>
)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 字符串表达式。如果
null
,则函数返回null
。 - 整数表达式;可选。如果为
null
、0
、1
、负数或未指定,则搜索从第一个字符位置开始。
输出: 整数
描述:返回 pattern
在 source
中首次出现的位置。可选的 start
指定开始搜索的字符位置。如果在 source
中未找到 pattern
,则函数返回 0
。
SELECT LOCATE('a', 'Elasticsearch');
LOCATE('a', 'Elasticsearch')
----------------------------
3
SELECT LOCATE('a', 'Elasticsearch', 5);
LOCATE('a', 'Elasticsearch', 5)
-------------------------------
10
LTRIM(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回 string_exp
的字符,并删除前导空格。
SELECT LTRIM(' Elastic');
LTRIM(' Elastic')
-------------------
Elastic
OCTET_LENGTH(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 整数
描述:返回 string_exp
输入表达式的字节长度。
SELECT OCTET_LENGTH('Elastic');
OCTET_LENGTH('Elastic')
-----------------------
7
POSITION(
string_exp1,
string_exp2)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 字符串表达式。如果
null
,则函数返回null
。
输出: 整数
描述:返回 string_exp2
中 string_exp1
的位置。结果是一个精确的数值。
SELECT POSITION('Elastic', 'Elasticsearch');
POSITION('Elastic', 'Elasticsearch')
------------------------------------
1
REPEAT(
string_exp,
count)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 整数表达式。如果为
0
、负数或null
,则函数返回null
。
输出: 字符串
描述:返回一个字符字符串,该字符串由 string_exp
重复 count
次组成。
生成的字符串不能超过 1 MB 的字节长度。
SELECT REPEAT('La', 3);
REPEAT('La', 3)
----------------
LaLaLa
REPLACE(
source,
pattern,
replacement)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 字符串表达式。如果
null
,则函数返回null
。 - 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:在 source
中搜索 pattern
的出现次数,并用 replacement
替换。
生成的字符串不能超过 1 MB 的字节长度。
SELECT REPLACE('Elastic','El','Fant');
REPLACE('Elastic','El','Fant')
------------------------------
Fantastic
RIGHT(
string_exp,
count)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 整数表达式。如果
null
,则函数返回null
。如果为0
或负数,则函数返回一个空字符串。
输出: 字符串
描述:返回 string_exp
最右侧的 count 个字符。
SELECT RIGHT('Elastic',3);
RIGHT('Elastic',3)
------------------
tic
RTRIM(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回 string_exp
的字符,并删除尾随空格。
SELECT RTRIM('Elastic ');
RTRIM('Elastic ')
-------------------
Elastic
SPACE(count)
输入:
- 整数表达式。如果为
null
或负数,则函数返回null
。
输出: 字符串
描述:返回一个包含 count
个空格的字符字符串。
生成的字符串不能超过 1 MB 的字节长度。
SELECT SPACE(3);
SPACE(3)
---------------
STARTS_WITH(
source,
pattern)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 字符串表达式。如果
null
,则函数返回null
。
输出: 布尔值
描述:如果源表达式以指定的模式开头,则返回 true
,否则返回 false
。匹配区分大小写。
SELECT STARTS_WITH('Elasticsearch', 'Elastic');
STARTS_WITH('Elasticsearch', 'Elastic')
--------------------------------
true
SELECT STARTS_WITH('Elasticsearch', 'ELASTIC');
STARTS_WITH('Elasticsearch', 'ELASTIC')
--------------------------------
false
SUBSTRING(
source,
start,
length)
输入:
- 字符串表达式。如果
null
,则函数返回null
。 - 整数表达式。如果
null
,则函数返回null
。 - 整数表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回一个字符字符串,该字符串从 source
派生而来,从 start
指定的字符位置开始,长度为 length
个字符。
SELECT SUBSTRING('Elasticsearch', 0, 7);
SUBSTRING('Elasticsearch', 0, 7)
--------------------------------
Elastic
TRIM(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回 string_exp
的字符,并删除前导和尾随空格。
SELECT TRIM(' Elastic ') AS trimmed;
trimmed
--------------
Elastic
UCASE(string_exp)
输入:
- 字符串表达式。如果
null
,则函数返回null
。
输出: 字符串
描述:返回一个与输入相同的字符串,其中所有小写字符都转换为大写。
SELECT UCASE('Elastic');
UCASE('Elastic')
----------------
ELASTIC