MySQL技能完整学习列表3、SQL语言基础——3、SQL运算符和函数

2023-12-01 08:36:45 浏览数 (1)

SQL运算符和函数

MySQL的SQL运算符和函数是数据库查询和操作的重要组成部分。它们用于执行各种任务,包括数据检索、转换、比较和计算。

一、SQL运算符:

算数运算符:用于执行数值计算。
  • 加法( ):用于将两个或多个数值相加。
  • 减法(-):用于从一个数值中减去另一个数值。
  • 乘法(*):用于将两个或多个数值相乘。
  • 除法(/):用于将一个数值除以另一个数值。
  • 模(%或MOD):用于求两个数相除的余数。
代码语言:javascript复制
SELECT 2   3; -- 结果为5
SELECT 10 % 3; -- 结果为1
比较运算符:用于比较两个值并返回布尔值。
  • 等于(=):检查两个值是否相等。
  • 不等于(<>或!=):检查两个值是否不相等。
  • 大于(>)、大于等于(>=)、小于(<)、小于等于(<=):用于比较数值的大小关系。
  • 安全等于(<=>):比较时忽略NULL值。
  • 安全等于(比较时忽略NULL)例如:
代码语言:javascript复制
SELECT 10 > 5; -- 结果为真(1)
SELECT 'apple' <> 'banana'; -- 结果为真(1)
逻辑运算符:用于组合多个条件。
  • 逻辑与(AND或&&):当所有条件为真时,返回真。
  • 逻辑或(OR或||):当至少一个条件为真时,返回真。
  • 逻辑非(NOT):反转条件的真假。
代码语言:javascript复制
SELECT 1 = 1 AND 2 = 2; -- 结果为真(1)
SELECT NOT (1 = 0); -- 结果为真(1)
位运算符:用于对二进制数进行操作。

主要用于对二进制数进行操作,如位与、位或、位异或和位非等。

  • 位与:&
  • 位或:|
  • 位异或:^
  • 位非:~例如:
代码语言:javascript复制
SELECT 6 & 3; -- 结果为2
其他运算符:如 BETWEEN, IN, IS NULL, IS NOT NULL, LIKE, REGEXP 等,用于更复杂的条件查询。例如:
代码语言:javascript复制
SELECT 'b' BETWEEN 'a' AND 'c'; -- 结果为真(1)
SELECT NULL IS NULL; -- 结果为真(1)

二、SQL函数:

MySQL提供了大量的内置函数,用于执行各种任务。这些函数可以在查询中直接使用,并返回所需的结果。以下是一些常用的函数分类:

字符串函数:如 CONCAT(), UPPER(), LOWER(), TRIM(), SUBSTRING(), LENGTH() 等,用于对字符串进行操作。例如:
代码语言:javascript复制
SELECT CONCAT('Hello', ' ', 'World'); -- 结果为"Hello World"
数值函数:如 ABS(), ROUND(), CEIL(), FLOOR(), MOD() 等,用于数值计算。例如:
代码语言:javascript复制
SELECT ABS(-10); -- 结果为10
日期和时间函数:如 NOW(), CURDATE(), CURTIME(), DATE_FORMAT(), DATEDIFF(), TIMESTAMPDIFF() 等,用于日期和时间的操作。例如:
代码语言:javascript复制
SELECT NOW(); -- 返回当前日期和时间
聚合函数

如 `COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()` 等,用于对数据进行统计和计算。

例如:sql

代码语言:javascript复制
SELECT AVG(salary) FROM employees;

返回员工的平均工资

转换函数

如 `CAST()`, `CONVERT()` 等,用于数据类型之间的转换。

例如:sql

代码语言:javascript复制
SELECT CAST(age AS CHAR) FROM users;

将age字段从数值转换为字符类型

条件函数

如 `IF()`, `CASE`, `COALESCE()` 等,用于根据条件返回值。

例如:

代码语言:javascript复制
SELECT IF(age >= 18, 'Adult', 'Minor') FROM users; 

根据年龄判断是否为成年人。

0 人点赞