测试运算符
GaussDB 100支持表1成员、范围的测试运算符:
运算符 |
描述 |
---|---|
IN |
元素在指定的集合中。 |
NOT IN |
元素不在指定的集合中。 |
EXISTS |
存在符合条件的元素。 |
NOT EXISTS |
不存在符合条件的元素。 |
BETWEEN…AND… |
在两者之间,例如a BETWEEN x AND y等效于a >= x and a <= y。 |
NOT BETWEEN…AND… |
不在两者之间,例如a NOT BETWEEN x AND Y等效于a < x or a > y。 |
IS NULL |
等于NULL。 |
IS NOT NULL |
不等于NULL。 |
LIKE ...[ESCAPE char] |
与…相匹配。 仅支持字符类型。 |
NOT LIKE...[ESCAPE char] |
与…不匹配。仅支持字符类型。 |
REGEXP |
字符串与正则表达式相匹配,仅支持STRING类型。 |
REGEXP_LIKE |
字符串与正则表达式相匹配,支持STRING类型和NUMBER类型。 语法:
|
ANY |
子查询中有一个值满足条件即可。 |
示例:
--创建一个表。 drop table if exists T_TEST_OPERATOR; create table T_TEST_OPERATOR(ID int, NAME varchar(36));
--往表中插入四条记录。 insert into T_TEST_OPERATOR(ID,NAME) VALUES (1,'zhangsan'); insert into T_TEST_OPERATOR(ID,NAME) VALUES (2,'lisi'); insert into T_TEST_OPERATOR(ID,NAME) VALUES (3,'wangwu'); insert into T_TEST_OPERATOR(ID,NAME) VALUES (999,null); commit;
--IN运算符。 select * from T_TEST_OPERATOR where ID IN(1,2); select * from T_TEST_OPERATOR where NAME IN('zhangsan');
--NOT IN运算符。 select * from T_TEST_OPERATOR where ID NOT IN(1,2); select * from T_TEST_OPERATOR where NAME NOT IN('zhangsan');
--EXISTS运算符。 select count(1) from SYS_DUMMY where EXISTS(select ID from T_TEST_OPERATOR where NAME='zhangsan');
--NOT EXISTS运算符。 select count(1) from SYS_DUMMY where NOT EXISTS(select ID from T_TEST_OPERATOR where NAME='zhangsan');
--BETWEEN…AND…运算符。 select * from T_TEST_OPERATOR where ID BETWEEN 1 AND 2;
--NOT BETWEEN…AND…运算符。 select * from T_TEST_OPERATOR where ID NOT BETWEEN 1 AND 2;
--IS NULL运算符。 select * from T_TEST_OPERATOR where NAME IS NULL;
--IS NOT NULL运算符。 select * from T_TEST_OPERATOR where NAME IS NOT NULL;
--LIKE ...[ESCAPE char]运算符。 select * from T_TEST_OPERATOR where NAME LIKE '%an%'; select * from T_TEST_OPERATOR where NAME LIKE '\%an%' ESCAPE '\';
--NOT LIKE...[ESCAPE char]运算符。 select * from T_TEST_OPERATOR where NAME NOT LIKE '%an%'; select * from T_TEST_OPERATOR where NAME NOT LIKE '\%an%' ESCAPE '\';
--REGEXP运算符。 select * from T_TEST_OPERATOR where NAME REGEXP '[a-z]*';
--REGEXP_LIKE运算符。 select * from T_TEST_OPERATOR where REGEXP_LIKE (NAME ,'[a-z]*');
--ANY运算符。 select * from T_TEST_OPERATOR where ID = ANY(1,3,5); select * from T_TEST_OPERATOR where NAME = ANY('zhangsan');
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论