全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
阿里云物联网套件

支持函数列表

更新时间:2017-11-23 18:39:48

在规则引擎中,我们提供了多种函数帮助用户实现多样化的场景,用户可以在编写SQL时使用这些函数。

如何使用函数?

当您需要对数据做一定处理,或者有些上下文信息比如(当前设备id),可以使用函数来实现。

例子:SELECT case flag when 1 then '开灯' when 2 then '关灯' else '' end flag,deviceName(),abs(temperature) tmr FROM "/topic/#" WHERE temperature>10 and topic(2)='123'

注意:通常单引号代表常量,双引号代表变量。 比如 select “a” a1, ‘a’ a2, a a3; 那么 a1与a3等效,而a2等于常量’a’.

支持函数列表

函数名 函数说明
deviceName() 返回当前设备名称
attribute(key) 返回key所对应的设备属性值
topic(number) 返回topic分段信息. 比如这个topic: /12345/678, topic() 返回 “/12345/678”, topic(1) 返回 “12345” , topic(2) 返回 “678”.
crypto(field,String) 对field的值进行加密。第二个参数为算法字符串,可选:’MD2’, ‘MD5’,’SHA1’, ‘SHA-256’, ‘SHA-384’, ‘SHA-512’
payload(textEncoding) 返回设备publish消息的payload转字符串, (字符编码默认 UTF-8),即 payload()默认 等价于 payload(‘utf-8’).
abs(number) 返回绝对值.
asin(number) 返回 number的反正弦
upper(string) 返回大写字符
newuuid() 返回一个随机uuid字符串
rand() 返回[0~1)之间随机数
timestamp(format) 返回当前系统时间,format可选。如果为空则返回当前系统时间戳毫秒值,比如 timestamp() = 1232323233, timestamp(‘yyyy-MM-dd HH:mm:ss.SSS’)=2016-05-30 12:00:00.000
replace(source, substring, replacement) 对某个目标列值进行替换,比如replace(field,’a’,’1’).
concat(string1, string2) 字符串连接,比如concat(field,’a’).
cos(number) 返回 number的余弦.
cosh(number) 返回 number的双曲余弦(hyperbolic cosine).
endswith(input, suffix) 判断input是否以suffix结尾.
exp(number) 返回指定数字的指定次幂
floor(number) 返回一个最接近它的整数,它的值小于或等于这个浮点数
nanvl(value, default) 返回属性值如果是null则返回default
log(n, m) 返回自然对数,如果不传m,则返回log(n)
mod(n, m) n%m 余数
sin(n) 返回 n的正弦.
sinh(n) 返回 n的双曲正弦(hyperbolic sine).
tan(n) 返回 n的正切.
tanh(n) 返回n的双曲正切(hyperbolic tangent).
power(n,m) 返回n的m次幂.
lower(string) 返回小写字符串
本文导读目录