逻辑和位运算符

逻辑非 (!)

功能:对表达式进行逻辑非操作,即如果表达式为真(true),返回假(false);如果表达式为假(false),返回真(true)。

参数

  • expr:布尔类型表达式。

返回结果

  • 布尔类型值。

示例

SELECT !true; -- 返回 false
SELECT !false; -- 返回 true
SELECT !NULL; -- 返回 NULL

按位非 (~)

功能:对表达式进行按位非操作,即将每一位的0变成1,1变成0。

参数

  • expr:整数类型表达式。

返回结果

  • 与输入表达式相同类型的值。

示例

SELECT ~0; -- 返回 -1

不等于 (!=)

功能:比较两个表达式,如果它们不相等,返回真(true)。

参数

  • expr1:布尔类型表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 != 0; -- 返回 true
SELECT 10 != 10; -- 返回 false
SELECT 10 != NULL; -- 返回 NULL

取模 (%)

功能:返回两个数值表达式相除的余数。

参数

  • expr1:数值类型表达式,包括 float、double、decimal、tinyint、smallint、int、bigint。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT 2 % 1.8; -- 返回 0.2
SELECT -10 % 3; -- 返回 -1

乘法 (*)

功能:返回两个数值表达式的乘积。

参数

  • expr1:数值类型表达式,包括 float、double、decimal、tinyint、smallint、int、bigint。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT 1.4 * 2.3; -- 返回 3.22

加法 (+)

功能:返回两个数值表达式的和。

参数

  • expr1:数值类型表达式,包括 float、double、decimal、tinyint、smallint、int、bigint。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT 1.4 + 2.3; -- 返回 3.7

正号 (+)

功能:返回表达式的值,不进行任何改变。

参数

  • expr:数值类型表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT +10; -- 返回 10
SELECT +(-10); -- 返回 -10

减法 (-)

功能:返回两个数值表达式的差。

参数

  • expr1:数值类型表达式,包括 float、double、decimal、tinyint、smallint、int、bigint。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT 3.3 - 10; -- 返回 -6.7

负号 (-)

功能:返回表达式的负值。

参数

  • expr:数值类型表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT -(-10); -- 返回 10
SELECT -(1.1); -- 返回 -1.1

除法 (/)

功能:返回两个数值表达式相除的商。

参数

  • expr1:数值类型表达式,包括 float、double、decimal。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入参数相同类型的值。

示例

SELECT 3.3 / 1.5; -- 返回 2.2
SELECT 9L / 2L; -- 返回 4.5

整数除法 (DIV)

功能:返回两个数值表达式相除的整数部分。

参数

  • dividend:被除数,数值类型表达式。
  • divisor:除数,与被除数相同类型的表达式。

返回结果

  • 整数类型值。

示例

SELECT 10 DIV 3; -- 返回 3
SELECT 20 DIV 4; -- 返回 5
SELECT 7 DIV 2; -- 返回 3

小于 (<)

功能:比较两个表达式,如果第一个表达式小于第二个,返回真(true)。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 < 2; -- 返回 true
SELECT 10 < 10; -- 返回 false
SELECT 'a' < 'b'; -- 返回 true

小于等于 (<=)

功能:比较两个表达式,如果第一个表达式小于或等于第二个,返回真(true)。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 <= 2; -- 返回 true
SELECT 10 <= 10; -- 返回 true
SELECT 'a' <= 'b'; -- 返回 true

大于 (>)

功能:比较两个表达式,如果第一个表达式大于第二个,返回真(true)。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 2 > 1; -- 返回 true
SELECT 10 > 10; -- 返回 false
SELECT 'b' > 'a'; -- 返回 true

大于等于 (>=)

功能:比较两个表达式,如果第一个表达式大于或等于第二个,返回真(true)。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 2 >= 1; -- 返回 true
SELECT 10 >= 10; -- 返回 true
SELECT 'b' >= 'a'; -- 返回 true

等于 (=)

功能:比较两个表达式,如果它们相等,返回真(true)。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 = 1; -- 返回 true
SELECT 10 = 5; -- 返回 false
SELECT 10 = NULL; -- 返回 NULL

等于 (==)

功能:比较两个表达式,如果它们相等,返回真(true)。功能与 = 相同。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 == 1; -- 返回 true
SELECT 10 == 5; -- 返回 false
SELECT 10 == NULL; -- 返回 NULL

不等于 (<>)

功能:比较两个表达式,如果它们不相等,返回真(true)。功能与 != 相同。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 <> 0; -- 返回 true
SELECT 10 <> 10; -- 返回 false
SELECT 10 <> NULL; -- 返回 NULL

NULL 安全等于 (<=>)

功能:比较两个表达式,与 = 类似,但对 NULL 值有特殊处理。如果两个值都是 NULL,返回真(true);如果其中一个是 NULL,返回假(false)。

参数

  • expr1:可比较类型的表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 布尔类型值。

示例

SELECT 1 <=> 1; -- 返回 true
SELECT NULL <=> NULL; -- 返回 true
SELECT 1 <=> NULL; -- 返回 false
SELECT NULL <=> 1; -- 返回 false

逻辑与 (AND)

功能:对两个布尔表达式进行逻辑与操作。只有当两个表达式都为真(true)时,返回真(true)。

参数

  • expr1:布尔类型表达式。
  • expr2:布尔类型表达式。

返回结果

  • 布尔类型值。

示例

SELECT true AND true; -- 返回 true
SELECT true AND false; -- 返回 false
SELECT false AND false; -- 返回 false
SELECT true AND NULL; -- 返回 NULL

逻辑或 (OR)

功能:对两个布尔表达式进行逻辑或操作。只要有一个表达式为真(true),返回真(true)。

参数

  • expr1:布尔类型表达式。
  • expr2:布尔类型表达式。

返回结果

  • 布尔类型值。

示例

SELECT true OR false; -- 返回 true
SELECT false OR false; -- 返回 false
SELECT false OR NULL; -- 返回 NULL
SELECT true OR NULL; -- 返回 true

逻辑非 (NOT)

功能:对布尔表达式进行逻辑非操作。与 ! 运算符功能相同。

参数

  • expr:布尔类型表达式。

返回结果

  • 布尔类型值。

示例

SELECT NOT true; -- 返回 false
SELECT NOT false; -- 返回 true
SELECT NOT NULL; -- 返回 NULL

按位与 (&)

功能:对两个整数表达式进行按位与操作。

参数

  • expr1:整数类型表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入表达式相同类型的值。

示例

SELECT 12 & 10; -- 返回 8 (二进制: 1100 & 1010 = 1000)
SELECT 7 & 3; -- 返回 3 (二进制: 0111 & 0011 = 0011)

按位或 (|)

功能:对两个整数表达式进行按位或操作。

参数

  • expr1:整数类型表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入表达式相同类型的值。

示例

SELECT 12 | 10; -- 返回 14 (二进制: 1100 | 1010 = 1110)
SELECT 7 | 3; -- 返回 7 (二进制: 0111 | 0011 = 0111)

按位异或 ()

功能:对两个整数表达式进行按位异或操作。

参数

  • expr1:整数类型表达式。
  • expr2:与expr1相同类型的表达式。

返回结果

  • 与输入表达式相同类型的值。

示例

SELECT 12  10; -- 返回 6 (二进制: 1100  1010 = 0110)
SELECT 7  3; -- 返回 4 (二进制: 0111  0011 = 0100)

字符串连接 (||)

功能:连接两个字符串表达式。

参数

  • expr1:字符串类型表达式。
  • expr2:字符串类型表达式。

返回结果

  • 字符串类型值。

示例

SELECT 'Hello' || ' ' || 'World'; -- 返回 'Hello World'
SELECT 'abc' || 'def'; -- 返回 'abcdef'
SELECT 'value: ' || 123; -- 返回 'value: 123'

联系我们
预约咨询
微信咨询
电话咨询