您的位置:首页 > 数据库

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

2011-01-24 15:11 465 查看
“=”、“<”、“>”等运算符都是用来进行数值判断的,有的时候则向使用这些运算符的反义,比如“不等于”、“不小于”或者“不大于”,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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: