关闭

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

488人阅读 评论(0) 收藏 举报

“=”、“<”、“>”等运算符都是用来进行数值判断的,有的时候则向使用这些运算符的反义,比如“不等于”、“不小于”或者“不大于”,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!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:230698次
    • 积分:3180
    • 等级:
    • 排名:第11171名
    • 原创:110篇
    • 转载:61篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论