Documentation

SQL 字符串函数

InfluxDB Cloud 无服务器 SQL 实现支持以下字符串函数,用于操作字符串值:

ASCII

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

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

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

chr

查看 ascii 查询示例

位长度

返回字符串的位长度。

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

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

length, octet_length

查看 bit_length 查询示例

去除空格

修剪指定的修剪字符串从一个字符串的开始和结束处。 如果没有提供修剪字符串,则从输入字符串的开始和结束处移除所有空白。

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

ltrim, rtrim, trim

查看 btrim 查询示例

字符长度

的别名length

字符长度

的别名length

连接

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

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

contcat_ws

查看 concat 查询示例

连接字符串

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

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

concat

查看 concat_ws 查询示例

字符

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

chr(expression)

参数

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

ascii

查看 chr 查询示例

以...结尾

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

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

查看 ends_with 查询示例

查找集合中的值

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

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

查看 find_in_set 查询示例

初始化大写字母

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

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

lower, upper

查看 initcap 查询示例

查找子字符串

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

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

查看 instr 查询示例

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

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

right

查看 left 查询示例

长度

返回字符串中的字符数。

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

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

bit_length, octet_length

查看 length 查询示例

莱文斯坦距离

返回两个字符串之间的Levenshtein distance

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

查看 levenshtein 查询示例

小写

将字符串转换为小写。

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

initcap, upper

查看 lower 查询示例

左填充

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

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

rpad

查看 lpad 查询示例

左侧去空格

去除字符串前面的空格。

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

btrim, rtrim, trim

查看 ltrim 查询示例

md5

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

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

查看 md5 查询示例

字节长度

返回字符串的字节长度。

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

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

bit_length, length

查看 octet_length 查询示例

覆盖层

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

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

查看 overlay 查询示例

位置

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

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

查看 position 查询示例

重复

返回一个字符串,该字符串是输入字符串重复指定次数的结果。

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

查看 repeat 查询示例

替换

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

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

查看 replace 查询示例

反转

反转字符串的字符顺序。

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

查看 reverse 查询示例

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

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

left

查看 right 查询示例

右填充

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

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

lpad

查看 rpad 查询示例

右侧去空格

从字符串中移除尾部空格。

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

btrim, ltrim, trim

查看 rtrim 查询示例

拆分部分

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

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

查看 split_part 查询示例

以...开始

测试一个字符串是否以一个子字符串开始。

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

查看 starts_with 查询示例

字符串位置

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

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

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

查看 strpos 查询示例

子字符串

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

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

查看 substr 查询示例

子串索引

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

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

查看 substr_index 查询示例

翻译

将字符串中的字符翻译为指定的翻译字符。

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

查看 translate 查询示例

到十六进制

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

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

查看 to_hex 查询示例

修剪

移除字符串首尾的空格。

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

btrim, ltrim, rtrim

查看 trim 查询示例

大写

将字符串转换为大写。

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

initcap, lower

查看 upper 查询示例

唯一识别码

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

uuid()

查看 uuid 查询示例



Flux的未来

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

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

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

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

InfluxDB 云端无服务器