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

相关推荐
武子康24 分钟前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康26 分钟前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
黑色叉腰丶大魔王31 分钟前
《MySQL 数据库备份与恢复》
mysql
Ljw...39 分钟前
索引(MySQL)
数据库·mysql·索引
OpsEye1 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
Ljw...1 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
i道i9 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
武子康9 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
爱上口袋的天空9 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
Oak Zhang10 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存