描述:
比较两个表达式或者两个序列。
语法:
cmp(x, y)
|
当两个表达式x, y比较大小时,相等返回0,大于返回1,小于返回-1。
|
cmp(A{, B})
|
当两个序列A, B比较大小时,序列A, B中的成员数量相同时,所有成员完全相等返回0,否则从前往后比较,第一个不相等的成员更大就返回1,第一个不相等的成员更小就返回-1;序列A, B中的成员数量不相同时,如果前面的成员都相同,则成员数少的值小。
|
cmp(A;B)
|
当序列A的长度大于等于序列B的长度时,序列A,B依次从前往后比较,序列A的成员更大就返回1,序列A的成员更小就返回-1,如果前面的成员都相同就返回0;当序列A的长度小于序列B的长度时,序列A的成员更大就返回1,序列A的成员更小就返回-1,如果前面的成员都相同,则返回-1。
当两个序列A, B比较大小,即序列A, B中的成员数量相同时,所有成员完全相等返回0,否则从前往后比较,第一个不相等的成员更大就返回1,第一个不相等的成员更小就返回-1。
|
cmp(A,0)
|
当B参数值不存在时,默认为0序列,相当于序列A和与A等长的[0…0]序列比较。
|
cmp(r1,r2)
|
当两条记录r1,r2比较大小时,所有记录中的字段值完全相等返回0,否则从前往后比较,第一个不相等的字段值更大就返回1,第一个不相等的字段值更小就返回-1。记录r1,r2中的字段数量不相同时,如果前面的字段都相同,则成员数少的值小。
|
备注:
比较两个表达式x, y /序列A, B/记录r1,r2的大小,两者不能比较大小时报错。
参数:
x/y
|
表达式。
|
A/B
|
序列,可为单值,视为1序列。
|
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
|
12
|
=cmp([-1,-4,8,9],[-1,-4,8,9,10])
|
-1
|
13
|
=cmp([-1,-4,8,9];[-1,-4,8,9,10])
|
-1序列A长度小于序列B,前面的字段都相同,则成员数少的值小。
|
14
|
=cmp([-1,-4,8,9],[-1,-4,8])
|
1
|
15
|
=cmp([-1,-4,8,9];[-1,-4,8])
|
0序列A长度大于序列B,前面的字段都相同,返回0。
|
相关概念:
差列
交列
并列
序列乘
对位运算
和列