关行长字符串报文提取问题请教

公司在进行传感器接入过程中很多公司给的是长字符串,例如:“90381510444888,898604D6102280879300,102,231120195909,00050005,99,30,00,0000000000000174,00000000000000000000000000,00000000000000000000000000,00000000000001000100000108”我想利用emq提取其中第3,5,7分号内容需要如何编写,尝试了很多次可以用tokens提取分解成数组,之后不知道如何操作了,请各位大佬给个思路或简易代码我自己修改。

试试下:

SELECT
  payload.msg as msg,
  tokens(msg, ',') as tokens,
  nth(1, tokens) as n1,
  nth(3, tokens) as n3,
  nth(5, tokens) as n5,
  nth(7, tokens) as n7
FROM
  "t/#"

参考文档:内置 SQL 函数 | EMQX 企业版文档

谢谢,我试一下。

412 NOT_MATCH: SQL Not Match
为什么提示这个报错,是不是那块写错了,还是语法不支持。

可以运行,我的问题,主题弄错了。

我的问题,主题弄错了。

1 个赞