SQL 3. 高级数据过滤 - 3 反义运算符

“=”、“<”、“>”等运算符都是用来进行数值判断的,有的时候则向使用这些运算符的反义,比如“不等于”、“不小于”或者“不大于”,MS SQL Server、DB2提供了“!” 运算符来对运算符求反义,也就是“!=”表示“不等于”、“!<”表示“不小于”,而“!>” 表示“不大于”。

 

比如要完成下面功能“检索所有年龄不等于22岁并且月工资哦不小于2000元的员工”,我们可以编写下面的SQL语句:

SELECT * FROM T_Employee WHERE FAge != 22 and FSalary !< 2000

 

正如上文体到,这种“不等于”、“不小于”、“不大于”的运算符只适用DB2 和MS SQL Server。如果在其他数据库系统上则需要用其他变通的方式实现,最常用的方式有两种:使用同义运算符和使用NOT运算符。

同义运算符 :

不等于 --- <>

不小于 --- >=

不大于 --- <=

比如,检索所有年龄不等于22岁并且月工资不小于2000元的员工:

SELECT * FROM T_Employee WHERE  FAge <> 22 AND FSalary >= 2000

 

NOT 运算符用来将一个表达式的值取反,也就是降至为“真” 的表达式结果变为“假” 、将值为“假” 的表达式结果变为“真” ,使用方式也非常简单,即为“NOT(表达式)” 。比如要表达式“年龄不小于20”,那么可以使用“NOT (FAge < 20)”

 

比如,“检索所有年龄不等于22岁并且月工资不小于2000元的员工”,我们可以编写下面的SQL语句:

SELECT * FROM T_Employee WHERE  NOT(FAge = 22) AND NOT(FSalary < 2000)

 

Note:

"!"运算符的方式只能运行在MS SQL Server和DB2这两种数据库系统上,所以如果应用程序需要一致到娶她数据库上的话,就应该避免这种方式,以免造成不必要的Bug!

阅读更多
个人分类: SQL
上一篇SQL 3.高级数据过滤 - 2 空值检测
下一篇SQL 3. 高级数据过滤 - 4 多值检测
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭