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

相关推荐
风哥2号1 小时前
数据库教程FGMT27‑MySQL数据库基础知识与体系架构
数据库·mysql
风哥2号5 小时前
数据库教程FGMT43‑MySQL性能分析与优化调整
数据库·mysql
默 语8 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
用户3074596982078 小时前
MySQL EXPLAIN 零基础完全精通指南:从"看不懂"到"会优化"
mysql
这个DBA有点耶9 小时前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范
迷茫的大专生9 小时前
高可用总结
redis·mysql·nginx·高可用
虎虎(_ _)。゜zzZ10 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy
梦帮科技10 小时前
RNS 代币架构:ERC20 五件套扩展与六钱包分配
人工智能·sql·区块链·database·合成复用原则·加密货币
迷茫的大专生11 小时前
服务器部署与 MySQL 运维学习笔记:从 Ansible 到高可用与性能优化
mysql·nginx·ansible·mysql优化·keepalive
Lyra_Infra11 小时前
从 MySQL 到达梦:一次信创隔离环境里的数据库迁移踩坑实录
数据库·后端·mysql