操作符
逻辑操作符
通常用到的逻辑操作符是:AND,OR,NOT。
SQL 语言使用 3 个布尔类型逻辑值,其中空值代表“未知”,具体请看下面的真值表。
AND/OR 真值表:
| a | B | a AND b | a OR b |
|---|---|---|---|
| 真 | 真 | 真 | 真 |
| 真 | 假 | 假 | 真 |
| 真 | 空值 | 空值 | 真 |
| 假 | 假 | 假 | 假 |
| 假 | 空值 | 假 | 空值 |
| 空值 | 空值 | 空值 | 空值 |
NOT 真值表:
| a | NOT a |
|---|---|
| 真 | 假 |
| 假 | 真 |
| 空值 | 空值 |
操作符 AND 和 OR 是可交换的,这就是说,可以交换操作符左边和右边的操作数,而不会影响最后的操作结果。
比较操作符
下面表中显示了通常使用的比较操作符:
| 操作符 | 描述 |
|---|---|
| < | 小于号 |
| > | 大于号 |
| <= | 小于等于号 |
| >= | 大于等于号 |
| = | 等于号 |
| <> | 不等号 |
| != | 不等号 |
对于所有实际使用的数据类型来说,都可以使用比较操作符。所有比较操作符都是二元操作符,用于返回布尔类型的值;像 1<2<3 这样的表达式是无效的(因为这里小于操作符不能在数值 3 和一个布尔类型值之间进行比较)。
除了比较操作符外,也可以使用 BETWEEN 操作符,如下所示:
a BETWEEN x AND y
它等同于
a >= x AND a <= y
类似地,
a NOT BETWEEN x AND y
等同于
a < x OR a > y
除了在 CPU 运算的时候需要把第一形式的表达式重写成第二种外,这两种形式的表达式没有任何区别。
为检查一个值是否为空,可以使用下列形式的表达式:
expression IS NULL
expression IS NOT NULL
不要使用像 expression = NULL 这样的表达式。因为 NULL 不等于空值(空值代表不确定的值,所以不能确定两个不确定的值是否相等)。这个行为符合 SQL 标准。
如果表达式计算值为空,那么一些程序可能期望 expression = NULL 的返回值为真。而在这里强烈推荐修改程序来符合 SQL 标准。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




