Skip to main content

表达式

DataQL 具备完整的表达式计算能力,这使得数据在转换过程中在需要数值计算的情况上变得非常好用。这会节省大量精力很多的精力来编写 UDF 的操作。

一个典型的场景就是是货币和汇率的转换
return orderByUser({'id': 4}) => {
'orderID',
'price_rmb' : '¥' + (price_rmb * 6.9) + '元' ,
'buyTime'
}

一元运算

对一个 bool 值进行取反
var bool = true;
return !bool;

可以被一元运算的类型有:booleannumber

一元运算针对的类型语意
!boolean对Boolean 取非
-number数值的相反数

二元运算

例如 1 + 2 等于 3
var a = 1;
var b = 2;
return a + b;
数学运算位运算比较运算逻辑运算
+加法&按位于运算>大于||逻辑或
-减法|按位或运算>=大于等于&&逻辑与
*乘法!按位取反<小于

/除法^异或<=小于等于

\整除<<左位移==等于

%取摸>>有符号右位移!=不等于



>>>无符号右位移



tip

二元运算主要还是面向 number。但加法运算是比较特殊的,它可以对任意类型做加法。执行结果就是两个数据字符串拼接。

三元运算

语法为:testExpr ? expr1 : expr2

var bool = true;
return (bool ? 1 : 2) ;