描述:
比较两个表达式或者两个序列
语法:
cmp(x, y)
cmp(A{, B})
cmp(A,0)
cmp(r1,r2)
备注:
比较两个表达式x, y 或者两个序列A, B或者两条记录r1,r2的大小,x与y或A与B或r1与r2不能比较大小时报错。
当两个表达式x, y比较大小时,相等返回0,大于返回1,小于返回-1;
当两个序列A, B比较大小时,所有成员完全相等返回0,否则从前往后比较,第一个不相等的成员更大就返回1,第一个不相等的成员更小就返回-1。序列A, B中的成员数量不相同时,如果前面的成员都相同,则成员数少的值小。
当两条记录r1,r2比较大小时,所有记录中的字段值完全相等返回0,否则从前往后比较,第一个不相等的字段值更大就返回1,第一个不相等的字段值更小就返回-1。记录r1,r2中的字段数量不相同时,如果前面的字段都相同,则成员数少的值小。
参数:
x |
表达式 |
y |
表达式 |
A |
n 序列 |
B |
m 序列,当B参数值不存在时,默认为0序列,相当于序列A和与A等长的[0…0]序列进行比较 |
r1 |
记录 |
r2 |
记录 |
示例:
|
A |
|
1 |
=cmp(9,5*1.2) |
1 |
2 |
=cmp([3,2,1],[1,8,9]) |
1 |
3 |
=cmp([-1,4,8]) |
-1, 相当于cmp([-1,4,8],[0,0,0]) |
4 |
=cmp([0,3,5],0) |
1, 相当于 cmp([0,3,5],[0,0,0]) |
5 |
=cmp(1000,"a") |
数值和字符串不能比较大小 |
6 |
=cmp("s","a") |
1 |
7 |
=cmp([0,3],[0,3,-5]) |
-1 |
8 |
=demo.query("select EID,GENDER,SALARY from EMPLOYEE") |
|
9 |
=demo.query("select EID,GENDER from EMPLOYEE") |
|
10 |
=cmp(A8(1),A9(1)) |
1, 前面的字段都相同,则成员数少的值小 |
11 |
=cmp(A8(1),A8(2)) |
-1 |
相关概念: