閱讀492 返回首頁    go 新東方


支持函數列表__規則引擎_產品組件_阿裏雲物聯網套件-阿裏雲

在規則引擎中,我們提供了多種函數幫助用戶實現多樣化的場景,用戶可以在編寫SQL時使用這些函數。

如何使用函數?

當您需要對數據做一定處理,或者有些上下文信息比如(當前設備id),可以使用函數來實現。

例子:SELECT case flag when 1 then ‘開燈’ when 2 then ‘關燈’ else ‘’ end flag,deviceId(),abs(temperature) tmr FROM “/topic/#” WHERE temperature>10 and topic(2)=’123’

支持函數列表

函數名 函數說明
abs(number) 返回絕對值.
accountId() 返回當前設備對應productKey所持有的用戶id — 注意,目前暫不開放,由於很多設備都是同一個用戶id,引用函數後可能導致您消息膨脹,目前您可以考慮使用阿裏雲登錄帳號名替換注意
deviceName() 返回當前設備名稱
deviceId() 返回當前設備id,這個是阿裏雲頒發的全局唯一id
crypto(field,String) 對field的值進行加密。第二個參數為算法字符串,可選:”MD2”, “MD5”,”SHA1”, “SHA-256”,”SHA-384”, “SHA-512”
asin(number) 返回 number的反正弦
topic(number) 返回topic分段信息. 比如這個topic: /12345/678, topic() 返回 “/12345/678”, topic(1) 返回 “12345” , topic(2) 返回 “678”.
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) 返回小寫字符串
payload(textEncoding) 返回設備publish消息的payload轉字符串, (字符編碼默認 UTF-8).

最後更新:2016-11-21 19:11:40

  上一篇:go sql表達式__規則引擎_產品組件_阿裏雲物聯網套件-阿裏雲
  下一篇:go 設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲