AQL学习笔记(十二)-AQL运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 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()函数代替。

 

猜你喜欢

转载自blog.csdn.net/qq_27668313/article/details/87177943