二.二.六 <= 小于等于号 返回值为 0(假) 1(真)
select 2<=7,7<=7,8<=7,'yuejl'<='yuejl',null<=null;
二.二.七 >= 大于等于号 返回值 为0 (假) 1(真)
select 2>=7, 7>=7,8>=7,(3+4)>=(2+5),'abc'>='bac',null>=null;
二.二.八 is null | isnull(数字) 是空 返回值 为0 (假) 1(真)
如果是空,返回 1, 如果不是空,则返回0.
select 7 is null,isnull(7),'两个蝴蝶飞' is null, null is null, isnull(null);
常在筛选表数据时,对空属性值进行判断。 如 筛选 age 为空时的数据, 应该是
select * from user where age is null;
而不是 where age=0;
null 与 0,’’ 是有区别的。
select 0 is null,'' is null;
二.二.九 is not null 不是 空。 返回值 为0 (假) 1(真)
如果是空, 则返回 0, 如果不是空,则返回 1. 与 is null 正好相反。
select 7 is not null, '两个蝴蝶飞' is not null, null is not null;
也通常是用在筛选表格数据时,对属性值不为空的进行判断。
0 并不是 null,’’ 空字符串也不是null.
select 0 is not null,'' is not null;
二.二.十 between … and… 在…和…之间 返回值 为0 (假) 1(真)
包括两边的值。 [开始值,结束值] 是一个闭区间,相当于 属性值>=开始值 and 属性值<=结束值。
select 2 between 1 and 7, 2 between 2 and 7,7 between 2 and 7,10 between 2 and 7;
也有 字母之间的 between … and …形式,转换成 ASCII 码进行比较。
select 'b' between 'a' and 'c', 'f' between 'b' and 'd','c' between 'ab' and 'ef','cd' between 'ad' and 'de';
与字符串之间的比较是一致的。 先比较第一个,如果第一个一样,才比较第二个字母。 第一个字母不一样,就不比较了,直接出来相应的结果。
二.二.十.一 least(n1,n2,n3…) 返回最小值,是 least集合里面的数值
select least(1,2,3),least(100,101,102),least('b','a','c'),least(3,6,null);
least,如果集合里面有一个null值,就返回null.
二.二.十.二 greatest(n1,n2,n3…) 返回 最大值,是 greatest集合里面的数值
select greatest(2,5,7),greatest('a','b','c'),greatest(3,6,null);
greatest, 如果集合里面有一个 null值,就返回 null.
二.二.十.三 in(集合) 在集合里面 返回值 为0 (假) 1(真)
select 8 in (2,3,8),10 in(2,4,6),'ab' in ('ac','ab','dc');
关于 null 值的情况。
select null in (2,5,6),null in (2,5,null), 8 in(3,5,6),8 in (3,5,null),8 in(3,8,null);
显示null 值有两种情况:
- 左侧的比较值是null. 无论是否存在集合里面。
- 左侧的比较值不是null, 如果集合里面没有这个匹配项,并且有一个表达式为null
二.二.十.四 not in (集合) 不在集合里面 返回值 为0 (假) 1(真)
与 in (集合) 正好相反
select 7 not in (2,5,6) ,7 not in (2,5,7), 'ab' not in ('ac','aa','bc');
关于null 的情况。
select null not in (2,5,6),null not in (2,5,null), 8 not in(3,5,6),8 not in (3,5,null),8 not in(3,8,null);
显示 null的值 与 in 相同。