本文介绍Lindorm支持的字符串函数的用法及示例。
引擎与版本
字符串函数适仅用于宽表引擎,且引擎版本需为2.5.1.1及以上版本。
函数列表
Lindorm支持的字符串函数如下表所示:
函数 | 说明 |
将多个字符串拼接成一个新的字符串。 | |
计算字符串的长度。 | |
将字符串中所有的字母都转换为小写字母。 | |
计算指定字符串的MD5值。 | |
将匹配指定规则的子串替换为新的字符串。 | |
返回逆序的字符串。 | |
从字符串指定位置开始,将匹配指定规则的子串替换为新的字符串。 | |
返回从字符串指定位置开始,匹配指定规则的子串。 | |
返回字符串中指定长度的子串。 | |
判断字符串的前缀是否为指定字符串。 | |
删除字符串前后的空格。 | |
将字符串中所有的字母都转换为大写字母。 |
CONCAT函数
将多个字符串拼接成一个新的字符串。
语法
CONCAT('string1','string2',...,'stringN')
参数说明
参数 | 是否必填 | 说明 |
'string1','string2',...,'stringN' | 是 | 需要拼接的字符串,多个字符串之间用英文逗号(,)分隔。 |
示例
将单独的字符串a
、b
和c
进行拼接,组成一个新的字符串abc
。
SELECT concat('a','b','c') AS val;
返回结果:
+--------+
| val |
+--------+
| abc |
+--------+
返回结果为拼接后的新字符串,且字符串中间无间隔符。
LENGTH函数
计算字符串的长度。
语法
LENGTH('string')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
示例
计算字符串abc
的长度。
SELECT length('abc') AS len;
返回结果:
+-----+
| len |
+-----+
| 3 |
+-----+
返回结果为3,表示字符串abc
的长度为3。
LOWER函数
将字符串中所有的字母都转换为小写字母。
语法
LOWER('string')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待转换的字符串。 |
示例
示例1:将字符串
ABC
中所有的字母都转换为小写字母。SELECT lower('ABC') AS val;
返回结果:
+--------+ | val | +--------+ | abc | +--------+
返回结果为abc,表示已将字符串
ABC
中所有的大写字母都转换为小写字母abc
。示例2:将字符串
Abc
中所有的字母都转换为小写字母。SELECT lower('Abc') AS val;
返回结果:
+--------+ | val | +--------+ | abc | +--------+
返回结果为abc,表示已将字符串
Abc
中所有的大写字母都转换为小写字母abc
。
MD5函数
计算指定字符串的MD5值。
语法
MD5('string')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
示例
计算指定字符串abc
的MD5值。
SELECT md5('abc') AS val;
返回结果:
+----------------------------------+
| val |
+----------------------------------+
| 900150983cd24fb0d6963f7d28e17f72 |
+----------------------------------+
返回结果为字符串abc
的MD5值。
REPLACE函数
将匹配指定规则的子串替换为新的字符串。
语法
REPLACE('string','from_str','to_str')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
from_str | 是 | 指定字符串。 |
to_str | 是 | 替换的字符串。 |
示例,
示例1:将字符串
abc
中所有匹配bc
的子串都替换为cd
。SELECT replace('abc','bc','cd') AS val;
返回结果:
+-----+ | val | +-----+ | acd | +-----+
返回结果为acd,表示已将字符串
abc
中匹配bc
的子串替换为cd
。示例2:将字符串
abcbc
中所有匹配bc
的子串都替换为cd
。SELECT replace('abcbc', 'bc', 'cd') AS val;
返回结果:
+-------+ | val | +-------+ | acdcd | +-------+
返回结果为acdcd,表示已将字符串
abcbc
中匹配bc
的子串替换为cd
。
REVERSE函数
返回逆序的字符串。
语法
REVERSE('string')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
示例
将字符串abc
逆序输出。
SELECT reverse('abc') AS val;
返回结果:
+-----+
| val |
+-----+
| cba |
+-----+
返回结果为cba ,表示已将字符串abc逆序输出。
REGEXP_REPLACE函数
从字符串指定位置开始,将匹配指定规则的子串替换为新的字符串。
语法
REGEXP_REPLACE('string',pat,rep,[pos])
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
pattern | 是 | 正则表达式。 |
rep | 是 | 替换的字符串。 |
position | 否 | 开始匹配字符串的位置,取值为大于等于1的整数。不指定该参数时,默认从第1个字符开始匹配。 |
示例
示例1:不指定
pos
参数。默认从第1个字符开始匹配,并将匹配b
的子串替换为c
。SELECT regexp_replace('abc', 'b', 'c') AS val;
返回结果:
+-----+ | val | +-----+ | acc | +-----+
返回结果为acc,表示已将字符串
abc
中匹配b
的子串替换为c
。示例2:指定
pos
参数。从第2个字符开始匹配,并将匹配b
的子串替换为c
。SELECT regexp_replace('abcbc', 'b', 'c', 2) AS val;
返回结果:
+-------+ | val | +-------+ | acccc | +-------+
acccc,表示已将字符串abcbc
中第2个字符至字符串末尾匹配b
的子串替换为c
。
示例3:指定
pos
参数。从第3个字符开始匹配,并将匹配b
的子串替换为c
。SELECT regexp_replace('abcbc', 'b', 'c', 3) AS val;
返回结果:
+-------+ | val | +-------+ | abccc | +-------+
返回结果为abccc,表示已将字符串
abcbc
中第3个字符至字符串末尾匹配b
的子串替换为c
。
REGEXP_SUBSTR函数
返回从字符串指定位置开始,匹配指定规则的子串。
语法
REGEXP_SUBSTR('string', pat, [pos])
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
pattern | 是 | 正则表达式。 |
position | 否 | 开始匹配字符串的位置,取值为大于等于1的整数。不指定该参数时,默认从第1个字符开始匹配。 |
示例
示例1:指定
pos
参数,从字符串abc
的第3个字符开始匹配b
的子串。SELECT regexp_substr('abc', 'b', 3) AS val;
返回结果:
+-----+ | val | +-----+ | | +-----+
返回结果为空,表示从字符串第3个字符开始无匹配
b
的子串。示例2:不指定
pos
参数,默认从字符串abc
的第1个字符开始匹配b
的子串。SELECT regexp_substr('abc', 'b') AS val;
返回结果:
+-----+ | val | +-----+ | b | +-----+
返回结果为b,表示从字符串第1个字符开始截取匹配
b
的子串。
SUBSTR函数
返回字符串中指定长度的子串。
语法
SUBSTR( string, pos, [len])
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
position | 是 | 开始截取字符串的位置,取值为大于等于1的整数。 |
len | 否 | 从左向右截取字符串的长度,取值为大于等于1的整数。不指定该参数时,则默认返回 |
示例
示例1:不指定
len
参数,默认返回字符串abc
第2个字符到字符串末尾的子串。SELECT substr('abc', 2) AS val;
返回结果:
+-----+ | val | +-----+ | bc | +-----+
返回结果为bc,表示字符串
abc
第2个字符至字符串末尾的子串。示例2:指定
len
参数,返回字符串abc
第1个字符到第2个字符的子串。SELECT substr('abc', 1, 2) AS val;
返回结果:
+-----+ | val | +-----+ | ab | +-----+
返回结果为ab,表示字符串
abc
第1个字符到第2个字符的子串。
START_WITH函数
判断字符串的前缀是否为指定字符串。
语法
START_WITH('string1', 'string2')
参数说明
参数 | 是否必填 | 说明 |
string1 | 是 | 待匹配的字符串。 |
string2 | 是 | 指定字符串。 |
示例
示例1:判断字符串
abc
的前缀是否为指定字符串ab
。SELECT start_with('abc', 'ab') AS val;
返回结果:
+--------+ | val | +--------+ | true | +--------+
返回结果为true,表示字符串
abc
的前缀是指定字符串ab
。示例2:判断字符串
abc
的前缀是否为指定字符串bc
。SELECT start_with('abc', 'bc') AS val;
返回结果:
+--------+ | val | +--------+ | false | +--------+
返回结果为false,表示字符串
abc
的前缀不是指定字符串bc
。
TRIM函数
删除字符串前后的空格。
语法
TRIM('string')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待匹配的字符串。 |
示例
删除指定字符串 abc
前后的空格。
SELECT trim(' abc ') AS str;
返回结果:
+-----+
| str |
+-----+
| abc |
+-----+
返回结果为删除前后空格后的结果。
UPPER函数
将字符串中所有的字母都转换为大写字母。
语法
UPPER('string')
参数说明
参数 | 是否必填 | 说明 |
string | 是 | 待转换的字符串。 |
示例
示例1:将字符串
abc
中所有的字母都转换为大写字母。SELECT upper('abc') AS val;
返回结果:
+--------+ | val | +--------+ | ABC | +--------+
返回结果为ABC,表示已将字符串
abc
中所有的小写字母转换为大写字母ABC
。示例2:将字符串
aBC
中所有的字母都转换为大写字母。SELECT upper('aBC') AS val;
返回结果:
+--------+ | val | +--------+ | ABC | +--------+
返回结果为ABC,表示已将字符串
aBC
中所有的小写字母都转换为大写字母ABC
。
- 本页导读 (1)