文档文档

SQL 字符串函数

InfluxDB 3 Core 处于公开 Alpha 阶段

InfluxDB 3 Core 处于公开 alpha 阶段,可用于测试和反馈,但不适用于生产环境。 产品和本文档都在不断完善中。 我们欢迎并鼓励您提供关于 alpha 体验的意见,并邀请您加入我们的公共频道以获取更新和分享反馈。

Alpha 预期和建议

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:要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

lengthoctet_length

查看 bit_length 查询示例

btrim

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

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

ltrimrtrimtrim

查看 btrim 查询示例

char_length

别名:length

character_length

别名:length

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 查询示例

chr

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

chr(expression)

参数

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

ascii

查看 chr 查询示例

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:要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

lowerupper

查看 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_lengthoctet_length

查看 length 查询示例

levenshtein

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

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

查看 levenshtein 查询示例

lower

将字符串转换为小写。

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

initcapupper

查看 lower 查询示例

lpad

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

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

rpad

查看 lpad 查询示例

ltrim

删除字符串开头的空格。

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

btrimrtrimtrim

查看 ltrim 查询示例

md5

计算字符串表达式的 MD5 128 位校验和。

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

查看 md5 查询示例

octet_length

返回字符串的字节长度。

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

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

bit_lengthlength

查看 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:要操作的字符串表达式。 可以是常量、列或函数,以及字符串运算符的任意组合。

btrimltrimtrim

查看 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 查询示例

translate

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

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

查看 translate 查询示例

to_hex

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

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

查看 to_hex 查询示例

trim

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

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

btrimltrimrtrim

查看 trim 查询示例

upper

将字符串转换为大写。

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

initcaplower

查看 upper 查询示例

uuid

返回每个行唯一的 UUID v4 字符串值。

uuid()

查看 uuid 查询示例


此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源版现已发布公开 Alpha 版本

InfluxDB 3 开源版现已可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们的新开源产品。 它是用于时间序列和事件数据的最新数据引擎。 InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看