版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27668313/article/details/87177943
5.1 比较运算符
比较两个任意类型的操作数,返回布尔值。AQL支持以下比较运算符。
Like用于比较左边的操作数是否和右边的模式匹配,模式由字符和通配符‘%,_’组成,‘_’表示匹配任意一个字符,‘%’表示匹配任意多个字符。如果要在模式中表示通配符本身的含义,需要用反斜线。下面第三个右边的模式中,‘_’在此不是通配符,而是其本身含义。
=~和!~用于比较左边的字符串是否匹配右边的正则表达式。
当操作数是数组时,需要在运算符前加上一个关键字(all, any, none)。
5.2 逻辑运算符
AQL支持‘与’‘或’‘非’逻辑运算。符号如下所示,
还可以用and, or, not代替,
操作数支持非布尔值,但是AQL会将操作数转换为布尔值,转换规则如下:
当运算符‘与’和‘或’两边的操作数都是非布尔值时,返回值不是布尔值;操作数都是布尔值时,返回值是布尔值。
5.3 算术运算符
AQL支持以下算数运算:
对于指数数值,可以使用pow()函数;对于字符串拼接,可以使用concat()函数,不能使用‘+’。
当运算符的操作数是非数值类型时,AQL将数据先转化为数值,转化规则如下,
当结果是一个无效值时,返回null,不会报错。
5.4 三元运算符
第一个操作数产生一个布尔值,如果是true,则返回第二个操作数,否则返回第三个操组数。
当第一个操作数和第二个操组数相同时,可以省略第二个操作数。
5.5 范围运算符
‘..’可以产生一个整数数组,元素值为包含上下界在内的整数值。例如下列运算
,返回如下数组,
也可以用range()函数代替。