文档文档

SQL 字符串函数

InfluxDB 3 Core SQL 实现支持以下用于操作字符串值的字符串函数

ascii

返回字符串中第一个字符的 ASCII 值。

ascii 返回一个 32 位整数。 要在 InfluxDB 中使用,将返回值转换为 64 位整数

ascii(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

chr

查看 ascii 查询示例

bit_length

返回字符串的位长度。

bit_length 返回一个 32 位整数。 要在 InfluxDB 中使用,将返回值转换为 64 位整数

bit_length(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

length, octet_length

查看 bit_length 查询示例

btrim

从字符串的开头和结尾修剪指定的修剪字符串。 如果未提供修剪字符串,则从输入字符串的开头和结尾删除所有空格。

btrim(str[, trim_str])
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • trim_str:要从输入字符串的开头和结尾修剪的字符串表达式。 可以是常量、列或函数,以及算术运算符的任意组合。 默认为空格字符

ltrim, rtrim, trim

查看 btrim 查询示例

char_length

别名:length

character_length

别名:length

chr

返回具有指定 ASCII 或 Unicode 代码值的字符。

chr(expression)

参数

  • expression:包含要操作的 ASCII 或 Unicode 代码值的表达式。 可以是常量、列或函数,以及算术或字符串运算符的任意组合。

ascii

查看 chr 查询示例

concat

将多个字符串连接在一起。

concat(str[, ..., str_n])
参数
  • str:要连接的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • str_n:要连接的后续字符串表达式。

contcat_ws

查看 concat 查询示例

concat_ws

使用指定的分隔符将多个字符串连接在一起。

concat_ws(separator, str[, ..., str_n])
参数
  • separator:插入在连接的字符串之间的分隔符。
  • str:要连接的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • str_n:要连接的后续字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

concat

查看 concat_ws 查询示例

contains

如果字符串包含搜索字符串(区分大小写),则返回 true。

contains(str, search_str)
参数
  • str:要操作的字符串表达式。 可以是常量、列或函数,以及运算符的任意组合。
  • search_str:要在 str 中搜索的字符串。

ends_with

测试字符串是否以子字符串结尾。

ends_with(str, substr)
参数
  • str:要测试的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • substr:要测试的子字符串。

查看 ends_with 查询示例

find_in_set

返回字符串在逗号分隔的子字符串列表中的位置。 如果字符串不在子字符串列表中,则返回 0。

find_in_set(str, strlist)
参数
  • str:要在 strlist 中查找的字符串表达式。
  • strlist:包含逗号分隔的子字符串列表的字符串。

查看 find_in_set 查询示例

initcap

将输入字符串中每个单词的首字母大写。 单词由非字母数字字符分隔。

initcap(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

lower, upper

查看 initcap 查询示例

instr

返回子字符串在字符串中首次出现的位置(从 1 开始)。 如果子字符串不在字符串中,则该函数返回 0。

instr(str, substr)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • substr:要搜索的子字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

查看 instr 查询示例

left

从字符串的左侧返回指定数量的字符。

left(str, n)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • n:要返回的字符数。

right

查看 left 查询示例

length

返回字符串中的字符数。

char_length 返回一个 32 位整数。 要在 InfluxDB 中使用,将返回值转换为 64 位整数

length(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
别名
  • char_length
  • character_length

bit_length, octet_length

查看 length 查询示例

levenshtein

返回两个字符串之间的 Levenshtein 距离

levenshtein(str1, str2)
参数
  • str1:要操作的第一个字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • str2:要操作的第二个字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

查看 levenshtein 查询示例

lower

将字符串转换为小写。

lower(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

initcap, upper

查看 lower 查询示例

lpad

用另一个字符串填充字符串的左侧,使其达到指定的字符串长度。

lpad(str, n[, padding_str])
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • n:要填充到的字符串长度。
  • padding_str:要填充的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。 默认为空格。

rpad

查看 lpad 查询示例

ltrim

删除字符串开头的空格。

ltrim(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

btrim, rtrim, trim

查看 ltrim 查询示例

octet_length

返回字符串的字节长度。

length 返回一个 32 位整数。 要在 InfluxDB 中使用,将返回值转换为 64 位整数

octet_length(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

bit_length, length

查看 octet_length 查询示例

overlay

使用指定的起始位置和要替换的字符数,将字符串的一部分替换为另一个子字符串。

overlay(str PLACING substr FROM pos [FOR count])
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • substr:用于替换指定字符串 (str) 部分的子字符串。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • pos:子字符串替换 (substr) 的起始位置。
  • count:要用子字符串 (substr) 替换的字符串 (str) 中的字符数,从起始位置 (pos) 开始。 如果未指定,则该函数使用子字符串的长度。

查看 overlay 查询示例

position

返回子字符串在字符串中的位置。

position(substr IN str)
参数
  • substr:要搜索的子字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • str:要搜索的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

查看 position 查询示例

repeat

返回一个字符串,其中输入字符串重复指定的次数。

repeat(str, n)
参数
  • str:要重复的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • n:输入字符串的重复次数。

查看 repeat 查询示例

replace

将字符串中所有出现的指定子字符串替换为新的子字符串。

replace(str, substr, replacement)
参数
  • str:要重复的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • substr:要在输入字符串中替换的子字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • replacement:替换子字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

查看 replace 查询示例

reverse

反转字符串的字符顺序。

reverse(str)
参数
  • str:要重复的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

查看 reverse 查询示例

从字符串的右侧返回指定数量的字符。

right(str, n)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • n:要返回的字符数。

left

查看 right 查询示例

rpad

用另一个字符串填充字符串的右侧,使其达到指定的字符串长度。

rpad(str, n[, padding_str])
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • n:要填充到的字符串长度。
  • padding_str:要填充的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。 默认为空格。

lpad

查看 rpad 查询示例

rtrim

删除字符串末尾的空格。

rtrim(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

btrim, ltrim, trim

查看 rtrim 查询示例

split_part

根据指定的分隔符拆分字符串,并返回指定位置的子字符串。

split_part(str, delimiter, pos)
参数
  • str:要拆分的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • delimiter:用于拆分的字符串或字符。
  • pos:要返回的部分的位置。

查看 split_part 查询示例

starts_with

测试字符串是否以子字符串开头。

starts_with(str, substr)
参数
  • str:要测试的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • substr:要测试的子字符串。

查看 starts_with 查询示例

strpos

返回指定子字符串在字符串中的起始位置。 位置从 1 开始。 如果子字符串在字符串中不存在,则该函数返回 0。

strpos 返回一个 32 位整数。 要在 InfluxDB 中使用,将返回值转换为 64 位整数

strpos(str, substr)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • substr:要搜索的子字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

查看 strpos 查询示例

substr

从字符串中的特定起始位置提取指定数量的字符的子字符串。

substr(str, start_pos[, length])
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • start_pos:子字符串开始的字符位置。 字符串中的第一个字符的位置为 1。
  • length:要提取的字符数。 如果未指定,则返回起始位置后的字符串的其余部分。

查看 substr 查询示例

substr_index

返回在字符串 (str) 中指定数量 (count) 的分隔符 (delimiter) 出现之前或之后出现的子字符串。 如果计数为正数,则该函数返回最终分隔符(从左侧计数)左侧的所有内容。 如果计数为负数,则该函数返回最终分隔符(从右侧计数)右侧的所有内容。

substr_index(str, delimiter, count)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • delimiter:用于分隔字符串 (str) 中的子字符串的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • count:要拆分的第 N 个分隔符 (delimiter) 的出现次数。 可以是常量、列或函数,以及算术运算符的任意组合。 支持正数和负数。

查看 substr_index 查询示例

substring

别名:substr

substring_index

别名:substr_index

translate

将字符串中的字符转换为指定的转换字符。

translate(str, chars, translation)
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。
  • chars:要转换的字符。
  • translation:转换字符。 转换字符仅替换 chars 字符串中相同位置的字符。

查看 translate 查询示例

to_hex

将整数转换为十六进制字符串。

to_hex(int)
参数
  • int:要转换的整数表达式。 可以是常量、列或函数,以及算术运算符的任意组合。

查看 to_hex 查询示例

trim

删除字符串开头和结尾的空格。

trim(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

btrim, ltrim, rtrim

查看 trim 查询示例

upper

将字符串转换为大写。

upper(str)
参数
  • str: 要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

initcap, lower

查看 upper 查询示例

uuid

返回一个 UUID v4 字符串值,该值每行都是唯一的。

uuid()

查看 uuid 查询示例


此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。 您可以继续像现在这样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。 更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最近数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。 InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。 InfluxDB 3 Enterprise 的免费层级可供非商业家庭或业余爱好者使用。

有关更多信息,请查看