腾讯云物联网规则引擎函数列表

腾讯云物联网规则引擎提供了多种函数,您可以在编写SQL时使用它们,实现多样化数据处理。
 
例如以下示例中,用到了deviceName()、floor(number)、topic(number)三个函数。
 
SELECT case flag when 1 then '开灯' when 2 then '关灯' else '' end flag,deviceName(),floor(temperature) tmr FROM "/topic/#" WHERE temperature>10 and topic(2)='123'。

函数名 

函数说明 

 upper(string)

 返回大写string

 lower(string)

 返回小写string

 concat(string1,string2)

 返回string1+string2拼接后的字符串

 crypto(string1,encryType)

 返回加密后的string1,encryType可选MD2,MD5,SHA1,SHA-256
SHA-384,SHA-512中的一种,例如crypto("abc","MD5")

 endswith(string1,ffix)

 返回string1是否以ffix结尾

 startswith(string1,ffix)

 返回string1是否以ffix开头

 nanvl(object,default)

 如果object为空,返回default的值,否则返回object本身

 newuuid()

 返回一个随机的uuid

 payload(encodeType)

 返回设备发布消息的payload转字符串,字符编码默认UTF-8
即 payload()默认等价于payload("utf-8")
否则按encodeType指定的编码格式返回

 replace(string1,oldstr,newstr)

 返回string1中oldstr替换成newstr后的字符串

 timestamp(format)

 返回当前系统时间,format可选,如果为空则返回当前系统时间戳毫秒值。
比如 timestamp() = "1232323233",timestamp
("yyyy-MM-dd HH:mm:ss.SSS")="2016-05-30 12:00:00.000"

 bitand(int1,int2)

 返回int1和int2按位与运算结果

 bitor(int1,int2)

 返回int1和int2按位或运算结果

 bitxor(int1,int2)

 返回int1和int2按位异或运算结果

 bitnot(int)

 返回int1按位取反运算结果

 chr(int)

 返回给定int参数对应的ASCII字符

 clientid()

 返回发送该消息的MQTT客户端ID

 isNull(object)

 判断object是否为空的布尔结果

 indexof(string1,string2)

 返回string1中string2的位置索引

 length(string)

 返回string字符长度

 trim(string)

 返回删除string所有前导和结尾空白后的字符串

 numbytes(string)

 返回输入字符串 UTF-8 编码中的字节数 

 sin(double)

 返回指定double类型参数的正弦值

 cos(double)

 返回指定double类型参数的余弦值

 tan(double)

 返回指定double类型参数的正切值

 asin(double)

 返回指定double类型参数的反正弦值

 acos(double)

 返回指定double类型参数的反余弦值

 atan(double)

 返回指定double类型参数的反正切值

 sinh(double)

 返回指定double类型参数的双曲正弦值

 cosh(double)

 返回指定double类型参数的双曲余弦值

 tanh(double)

 返回指定double类型参数的双曲正切值

 toRadians(double)

 返回指定double类型角度值转换的弧度值

 toDegrees(double)

 返回指定double类型弧度值转换的角度值

 exp(double)

 返回自然数底数e的double类型参数次方

 log(double)

 返回double参数的自然数底数的对数值

 log10(double)

 返回以10为底的double参数的值

 log1p(double)

 返回ln(double + 1)的值

 sqrt(double)

 返回指定double类型参数的开方根

 cbrt(double)

 返回指定double类型参数的立方根

 ceil(double)

 返回指定double类型参数向上取整后的值

 floor(double)

 返回指定double类型参数向下取整后的值

 rint(double)

 返回最接近指定double类型参数的整数值,返回值为double类型

 round(double)

 返回指定double类型参数四舍五入后的值,返回值为int类型

 atan2(double1,double2)

 返回矩形坐标 (double1, double2) 转换成极坐标 (r, theta),返回所得角 theta

 pow(double1,double2)

 返回double1参数的double2参数次方

 random()

 返回一个0-1之间的随机数

 abs(number)

 返回number的绝对值

 max(number1,number2)

 返回number1和number2参数中较大值

 min(number1,number2)

 返回number1和number2参数中较小值

 signum(double)

 返回指定double参数的符号函数
(如果指定值为负,则返回-1;如果指定值为零,则返回 0;
如果指定值为正,则返回1

 copySign(double1,double2)

 返回double2参数的符号和double1参数的值组成的新值

 deviceName()

 返回发送该消息的设备名称

 topic(int)

 返回Topic分段信息,比如有一个Topic:/abcdef/ghi,函数 topic()
返回 "/abcdef/ghi", topic(1)  返回 "abcdef", topic(2) 返回 "ghi"

 messageId()

 返回上报消息的消息id

 to_base64

 返回上报消息的base64编码

标签