字符串函数 String Functions
ascii(string str)
- 返回结果: 返回字符串str首字母的十进制ascii码
- 返回类型: int
select ascii('ABC');
-- 结果为 65
base64(binary bin)
- 返回结果: 将二进制转换为base64编码
- 返回类型: string
select base64(encode('Uncle Bean', 'utf8'));
-- 结果为 VW5jbGUgQmVhbg==select base64(encode('Melon-and-fruit-fields', 'utf-8'));
-- 结果为 TWVsb24tYW5kLWZydWl0LWZpZWxkcw====
character_length(string str)
- character_length 可缩写为 char_length
- 返回结果: 返回str中包含的UTF-8字符数
- 返回类型: int
select character_length('123456');
-- 结果为 6select char_length('ABCDEFGHIJK');
-- 结果为 11
chr(bigint|double A)
- 返回结果: 将数字A转为对应的ascii字符, 如果A大于等于256,则结果同chr(A % 256)
- 返回类型: string
select chr(65);
-- 结果为 Aselect chr(65.6);
-- 结果为 Aselect chr(321);
-- 结果为 Aselect chr(321 % 256);
-- 结果为 A
concat(string|binary A, string|binary B...)
- 返回结果: 拼接字符串,函数接受任意数量的输入
- 返回类型: string
select concat('A', 'C', 'B');
-- 结果为 ACBselect concat(encode('A', 'utf8'), encode('C', 'utf8'), encode('B', 'utf8'));
-- 结果为 ACB
context_ngrams(array<array>, array, int K, int pf)
- 返回结果: 使用n-gram模型,通过指定array,提取前K个上下文文本;pf越大,精度越高,同时消耗的内存资源也更大
- 返回类型: array<struct<string,double>>
select context_ngrams(array(array('from','a'),array('from','a'),array('from','b')), array('from', null), 1);
-- 结果为 [{"ngram":["a"],"estfrequency":2.0}]select context_ngrams(array(array('from','a'),array('from','a'),array('from','b')), array('from', null), 2);
-- 结果为 [{"ngram":["a"],"estfrequency":2.0},{"ngram":["b"],"estfrequency":1.0}]
concat_ws(string SEP, string A, string B...)
- 返回结果: 使用指定分隔符 SEP 拼接字符串,传入参数为多个字符串
- 返回类型: string
select concat_ws('-', 'Melon', 'and', 'fruit', 'fields');
-- 结果为 Melon-and-fruit-fields
concat_ws(string SEP, array)
- 返回结果: 使用指定分隔符 SEP 拼接字符串,传入参数为 array
- 返回类型: string
select concat_ws('-', array('Melon', 'and', 'fruit', 'fields'));
-- 结果为 Melon-and-fruit-fields
decode(binary bin, string charset)
- 返回结果: 解码(字符集 charset 包括'US-ASCII', 'ISO-8859-1', 'UTF-8'