问:MySQL中的常用SQL函数整理?

在MySQL中,SQL函数是执行特定任务、简化复杂查询和操作数据的强大工具。这些函数可以分为多个类别,包括字符串函数、数学函数、日期和时间函数、聚合函数以及控制流函数等。以下是一些常用MySQL函数。

一、字符串函数

  1. CONCAT(): 连接两个或多个字符串。

    sql 复制代码
    SELECT CONCAT('MySQL', ' ', 'Functions'); -- 输出: MySQL Functions
  2. LENGTH()CHAR_LENGTH(): 返回字符串的长度。

    sql 复制代码
    SELECT LENGTH('Hello World'); -- 输出: 11
    SELECT CHAR_LENGTH('Hello World'); -- 输出: 11
  3. UPPER()LOWER(): 将字符串转换为大写或小写。

    sql 复制代码
    SELECT UPPER('Hello'); -- 输出: HELLO
    SELECT LOWER('WORLD'); -- 输出: world
  4. SUBSTRING(): 从字符串中提取子串。

    sql 复制代码
    SELECT SUBSTRING('Hello World', 7); -- 输出: World
    SELECT SUBSTRING('Hello World', 1, 5); -- 输出: Hello
  5. TRIM(): 去除字符串两端的空格。

    sql 复制代码
    SELECT TRIM('  Hello World  '); -- 输出: Hello World
  6. REPLACE(): 替换字符串中的部分字符。

    sql 复制代码
    SELECT REPLACE('Hello World', 'World', 'MySQL'); -- 输出: Hello MySQL

二、数学函数

  1. ROUND(): 对数进行四舍五入。

    sql 复制代码
    SELECT ROUND(3.14159); -- 输出: 3
    SELECT ROUND(3.567, 2); -- 输出: 3.57
  2. CEIL()CEILING(): 返回大于或等于给定数字的最小整数。

    sql 复制代码
    SELECT CEIL(3.14); -- 输出: 4
    SELECT CEILING(-3.14); -- 输出: -3
  3. FLOOR(): 返回小于或等于给定数字的最大整数。

    sql 复制代码
    SELECT FLOOR(3.14); -- 输出: 3
    SELECT FLOOR(-3.14); -- 输出: -4
  4. ABS(): 返回数字的绝对值。

    sql 复制代码
    SELECT ABS(-10); -- 输出: 10

三、日期和时间函数

  1. NOW(): 返回当前日期和时间。

    sql 复制代码
    SELECT NOW(); -- 输出: 当前日期和时间,如 2024-10-28 06:10:23
  2. CURDATE()CURTIME(): 分别返回当前日期和当前时间。

    sql 复制代码
    SELECT CURDATE(); -- 输出: 当前日期,如 2024-10-28
    SELECT CURTIME(); -- 输出: 当前时间,如 06:10:23
  3. DATE_FORMAT(): 按指定格式格式化日期/时间。

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 输出: 格式化的当前日期和时间
  4. YEAR() , MONTH() , DAY(): 分别提取日期的年、月、日部分。

    sql 复制代码
    SELECT YEAR('2024-10-28'); -- 输出: 2024
    SELECT MONTH('2024-10-28'); -- 输出: 10
    SELECT DAY('2024-10-28'); -- 输出: 28

四、聚合函数

  1. COUNT(): 计算表中的行数。

    sql 复制代码
    SELECT COUNT(*) FROM users; -- 输出: 用户表中的行数
  2. SUM(): 计算某列的总和。

    sql 复制代码
    SELECT SUM(salary) FROM employees; -- 输出: 员工薪水总和
  3. AVG(): 计算某列的平均值。

    sql 复制代码
    SELECT AVG(salary) FROM employees; -- 输出: 员工薪水平均值
  4. MAX()MIN(): 返回某列的最大值和最小值。

    sql 复制代码
    SELECT MAX(salary) FROM employees; -- 输出: 员工薪水的最大值
    SELECT MIN(salary) FROM employees; -- 输出: 员工薪水的最小值

五、控制流函数

  1. IF(): 根据条件返回不同的值。

    sql 复制代码
    SELECT IF(score >= 60, 'Pass', 'Fail') FROM exams; -- 根据分数判断是否及格
  2. CASE: 更复杂的条件判断。

    sql 复制代码
    SELECT 
        CASE 
            WHEN score >= 90 THEN 'A'
            WHEN score >= 80 THEN 'B'
            WHEN score >= 70 THEN 'C'
            ELSE 'D'
        END AS grade
    FROM exams; -- 根据分数划分等级
  3. COALESCE(): 返回第一个非NULL的值。

    sql 复制代码
    SELECT COALESCE(NULL, NULL, 'Third Value', 'Fourth Value'); -- 输出: Third Value

这些函数只是MySQL中可用函数的一个子集,但它们在日常的数据库查询和操作中非常常用。熟练掌握这些函数,可以帮助数据库管理员、开发人员和数据分析师更有效地处理数据、生成报告和构建复杂的应用程序。

相关推荐
CodeCraft Studio1 小时前
【实用技能】在 SQL Server 中使用 LIMIT 子句的替代方案
数据库·sql·sqlserver
Mephisto.java1 小时前
【大数据学习 | kafka】kafka的偏移量管理
大数据·sql·oracle·sqlite·json·hbase
2301_768212152 小时前
jmeter所用的mysql的jar包进行下载,可写jdbc协议
mysql·jar
jlting1952 小时前
HiveSQL 中判断字段是否包含某个值的方法
数据库·sql
求一个好offer拜托拜托2 小时前
SQL常见语法
数据库·sql
dal118网工任子仪2 小时前
SQL报错注入检测方法与攻击方法
笔记·sql·学习·计算机网络
文军的烹饪实验室2 小时前
sqlalchemy连接mysql数据库
数据库·mysql
zybsjn2 小时前
如何产看SQL 查询的执行时间
数据库·sql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验二 数据库表
数据库·sql·mysql·oracle·实验报告
songqq272 小时前
sql中判断一个字段是否包含一个数据的方法有哪些?
数据库·hive·sql