SQL 字符串函数
InfluxDB Cloud 无服务器 SQL 实现支持以下字符串函数,用于操作字符串值:
- ascii
- bit_length
- btrim
- 字符长度
- character_length
- 拼接
- concat_ws
- chr
- 以...结尾
- find_in_set
- initcap
- instr
- 左
- 长度
- 莱文斯坦
- 小写
- lpad
- ltrim
- md5
- octet_length
- 覆盖层
- 位置
- 重复
- 替换
- 反转
- 右边
- rpad
- rtrim
- split_part
- starts_with
- strpos
- substr
- substr_index
- to_hex
- 翻译
- trim
- upper
- uuid
ASCII
返回字符串中第一个字符的ASCII值。
ascii
返回一个32位整数。
要与InfluxDB一起使用,将返回值转换为64位整数。
ascii(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
位长度
返回字符串的位长度。
bit_length
返回一个32位整数。
要与InfluxDB一起使用,将返回值转换为64位整数。
bit_length(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
去除空格
修剪指定的修剪字符串从一个字符串的开始和结束处。 如果没有提供修剪字符串,则从输入字符串的开始和结束处移除所有空白。
btrim(str[, trim_str])
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- trim_str: 从输入字符串的开头和结尾修剪的字符串表达式。可以是常量、列或函数,以及任何算术运算符的组合。默认是空白字符。
相关函数
字符长度
的别名length。
字符长度
的别名length。
连接
将多个字符串连接在一起。
concat(str[, ..., str_n])
参数
- str: 要连接的字符串表达式。可以是常量、列或函数,以及任何字符串运算符的组合。
- str_n: 后续的字符串表达式用于连接。
相关函数
连接字符串
将多个字符串与指定的分隔符连接在一起。
concat_ws(separator, str[, ..., str_n])
参数
- separator: 插入连接字符串之间的分隔符。
- str: 要连接的字符串表达式。可以是常量、列或函数,以及任何字符串运算符的组合。
- str_n: 后续字符串表达式,以便连接。可以是常量、列或函数,以及字符串操作符的任意组合。
相关函数
字符
返回具有指定ASCII或Unicode代码值的字符。
chr(expression)
参数
- expression: 包含要操作的 ASCII 或 Unicode 代码值的表达式。可以是常量、列或函数,以及任意组合的算术或字符串运算符。
相关函数
以...结尾
测试一个字符串是否以子字符串结尾。
ends_with(str, substr)
参数
- str: 要测试的字符串表达式。可以是常量、列或函数,以及任何字符串运算符的组合。
- substr: 要测试的子字符串。
查找集合中的值
返回一个字符串在以逗号分隔的子字符串列表中的位置。如果字符串不在子字符串列表中,则返回0。
find_in_set(str, strlist)
参数
- str: 在
strlist
中要查找的字符串表达式。 - strlist: 一个包含用逗号分隔的子字符串的字符串。
初始化大写字母
将输入字符串中每个单词的首字母大写。单词由非字母数字字符分隔。
initcap(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
查找子字符串
返回子字符串首次出现在字符串中的位置(从1开始)。如果子字符串不在字符串中,则该函数返回0。
instr(str, substr)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- substr: 用于搜索的子串表达式。 可以是常量、列或函数,以及任何字符串运算符的组合。
左
从字符串的左侧返回指定数量的字符。
left(str, n)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- n: 返回的字符数。
相关函数
长度
返回字符串中的字符数。
char_length
返回一个32位整数。
要与InfluxDB一起使用,将返回值转换为64位整数。
length(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
别名
- 字符长度
- 字符长度
相关函数
莱文斯坦距离
返回两个字符串之间的Levenshtein distance。
levenshtein(str1, str2)
参数
- str1: 要操作的第一个字符串表达式。 可以是常量、列或函数,以及任何字符串操作符的组合。
- str2: 第二个字符串表达式进行操作。 可以是常量、列或函数,以及任何字符串操作符的组合。
小写
将字符串转换为小写。
lower(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
左填充
在字符串的左侧用另一个字符串填充,直到达到指定的字符串长度。
lpad(str, n[, padding_str])
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- n: 要填充的字符串长度。
- padding_str: 用于填充的字符串表达式。可以是常量、列或函数,以及任何组合的字符串操作符。默认是一个空格。
相关函数
左侧去空格
去除字符串前面的空格。
ltrim(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
md5
计算字符串表达式的MD5 128位校验和。
md5(str)
参数
- expression: 要操作的字符串表达式。可以是常量、列或函数,以及任何组合的字符串操作符。
字节长度
返回字符串的字节长度。
length
返回一个32位整数。
要与InfluxDB一起使用,将返回值转换为64位整数。
octet_length(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
覆盖层
使用指定的起始位置和要替换的字符数,将字符串的一部分替换为另一个子字符串。
overlay(str PLACING substr FROM pos [FOR count])
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- substr: 用于替换指定字符串 (
str
) 部分的子字符串。可以是常量、列或函数,以及任意组合的字符串运算符。 - pos: 子字符串替换的起始位置 (
substr
). - count: 字符串 (
str
) 中要用子串 (substr
) 替换的字符数,从起始位置 (pos
) 开始。如果未指定,函数将使用子串的长度。
位置
返回子字符串在字符串中的位置。
position(substr IN str)
参数
- substr: 用于搜索的子串表达式。 可以是常量、列或函数,以及任何字符串运算符的组合。
- str: 要搜索的字符串表达式。可以是常量、列或函数,以及任何组合的字符串操作符。
重复
返回一个字符串,该字符串是输入字符串重复指定次数的结果。
repeat(str, n)
参数
- str: 要重复的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
- n: 输入字符串重复的次数。
替换
将字符串中指定子字符串的所有出现替换为一个新的子字符串。
replace(str, substr, replacement)
参数
- str: 要重复的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
- substr: 输入字符串中要替换的子字符串表达式。 可以是常量、列或函数,以及任何字符串操作符的组合。
- replacement: 替换子字符串表达式。 可以是常量、列或函数,以及字符串操作符的任意组合。
反转
反转字符串的字符顺序。
reverse(str)
参数
- str: 要重复的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
右侧
从字符串的右侧返回指定数量的字符。
right(str, n)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- n: 返回的字符数。
相关函数
右填充
用另一个字符串填充字符串的右侧,直到达到指定的字符串长度。
rpad(str, n[, padding_str])
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- n: 要填充的字符串长度。
- padding_str: 用于填充的字符串表达式。可以是常量、列或函数,以及任何组合的字符串操作符。默认是一个空格。
相关函数
右侧去空格
从字符串中移除尾部空格。
rtrim(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
拆分部分
根据指定的分隔符分割字符串,并返回指定位置的子字符串。
split_part(str, delimiter, pos)
参数
- str: 字符串表达式用于分割。 可以是常量、列或函数,以及字符串操作符的任何组合。
- delimiter: 用于分隔的字符串或字符。
- pos: 要返回的部分的位置。
以...开始
测试一个字符串是否以一个子字符串开始。
starts_with(str, substr)
参数
- str: 要测试的字符串表达式。可以是常量、列或函数,以及任何字符串运算符的组合。
- substr: 要测试的子字符串。
字符串位置
返回指定子字符串在字符串中的起始位置。 位置从1开始。 如果子字符串在字符串中不存在,则函数返回0。
strpos
返回一个32位整数。
要与InfluxDB一起使用,将返回值转换为64位整数。
strpos(str, substr)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- substr: 用于搜索的子串表达式。 可以是常量、列或函数,以及任何字符串运算符的组合。
子字符串
从字符串中的特定起始位置提取指定数量字符的子字符串。
substr(str, start_pos[, length])
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- start_pos: 子字符串开始的字符位置。字符串中的第一个字符位置为1。
- length:要提取的字符数。如果未指定,则返回从起始位置开始的其余字符串。
子串索引
返回在字符串 (str
) 中指定数量 (count
) 的分隔符 (delimiter
) 出现之前或之后的子字符串。如果计数为正,函数返回最终分隔符左侧的所有内容(从左侧开始计数)。如果计数为负,函数返回最终分隔符右侧的所有内容(从右侧开始计数)。
substr_index(str, delimiter, count)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- delimiter: 用于分隔字符串中子字符串的字符串表达式 (
str
)。可以是常量、列或函数,以及任何字符串操作符的组合。 - count: 分隔符 (
delimiter
) 的第 N 次出现,用于拆分。可以是常量、列或函数,以及任何组合的算术运算符。支持正数和负数。
翻译
将字符串中的字符翻译为指定的翻译字符。
translate(str, chars, translation)
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
- chars: 要翻译的字符。
- translation: 翻译字符。翻译字符仅替换chars字符串中相同位置的字符。
到十六进制
将整数转换为十六进制字符串。
to_hex(int)
参数
- int: 要转换的整数表达式。可以是常量、列或函数,以及任何算术运算符的组合。
修剪
移除字符串首尾的空格。
trim(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
大写
将字符串转换为大写。
upper(str)
参数
- str: 要操作的字符串表达式。可以是常量、列或函数,以及任意组合的字符串运算符。
相关函数
唯一识别码
返回一个在每一行都唯一的 UUID v4 字符串值。
uuid()