拼接运算符

使用||运算符实现字符串的拼接。

字符函数

下表列出了 Presto 支持的字符函数:

函数名 语法 说明
chr chr(n) → varchar 返回 UCP(Unicode code point)n作为一个字符返回.
codepoint codepoint(string) → integer 返回字符string的 UCP 值
concat concat(string1, …, stringN) → varchar 连接字符串,功能同||运算符
hamming_distance hamming_distance(string1, string2) → bigint 返回两个字符串之间的汉明距离。注意,两个字符串的长度应该相等。
length length(string) → bigint 返回字符串的长度
levenshtein_distance levenshtein_distance(string1, string2) → bigint 返回两个字符串之间的Levenshtein 编辑距离
lower lower(string) → varchar 转成小写
upper upper(string) → varchar 转成大写
replace replace(string, search) → varchar 用空字符来替换字符串string中和search相同的子串
replace replace(string, search, replace) → varchar replace来替换字符串string中和search相同的子串
reverse reverse(string) → varchar 反转字符串
lpad lpad(string, size, padstring) → varchar padstring从左边开始填充字符串string,填充成长度为size的字符串。padstring不能为空,size不能为0.
rpad rpad(string, size, padstring) → varchar padstring从右边开始填充字符串string,填充成长度为size的字符串。padstring不能为空,size不能为0.
ltrim ltrim(string) → varchar 删除前置空白符
rtrim rtrim(string) → varchar 删除后置空白符
split split(string, delimiter) → array 拆分字符串
split split(string, delimiter, limit) → array 拆分字符串,对数组大小有限制
split_part split_part(string, delimiter, index) → varchar index处开始拆分字符串,index 从 1 开始。
split_to_map split_to_map(string, entryDelimiter, keyValueDelimiter) → map<varchar, varchar> 将字符串拆成一个map
strpos strpos(string, substring) → bigint 返回第一个符合子串的位置序号,序号从1开始.没找到则返回 0。
position position(substring IN string) → bigint 返回子串在给定字符串中的起始位置
substr substr(string, start, [length]) → varchar 截取从位置start位置开始的子串.位置序号从1开始.长度参数可选。

Unicode 相关的函数

  • normalize(string) → varchar

    转换成NFC 标准形式的字符串.

  • normalize(string, form) → varchar

    按给定的格式归一化字符串,form可选如下:

    • NFD Canonical Decomposition
    • NFC Canonical Decomposition, followed by Canonical Composition
    • NFKD Compatibility Decomposition
    • NFKC Compatibility Decomposition, followed by Canonical Composition
  • to_utf8(string) → varbinary

    转换成 UTF-8 格式的字符串

  • from_utf8(binary, [replace]) → varchar

    将二进制数据解析成 UTF-8 字符串。非法序列会用replace替代,该项参数可选,默认为 Unicode 字符U+FFFD。需要注意的是,replace必须是单个字符,可以为空字符。