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

相关推荐
数据工匠老o39 分钟前
一张 5 亿行的表按月分区后,清理历史数据从几小时变成了几秒
数据库·sql
hwscom1 小时前
几分钟开防护,SQL和XSS注入全被护卫神挡住
数据库·sql·xss
Dxy12393102161 小时前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
wno7041 小时前
MYSQL 常用合并函数
android·数据库·mysql
挖掘狂人2 小时前
SQL 注入:一行代码如何撬开整个数据库
后端·sql·数据分析
用户84913717547162 小时前
数据库迁移总出问题?学会这个工具,让团队协作效率翻倍!
数据库·sql
for_ever_love__3 小时前
LangGraph State 设计:多节点之间怎么安全地共享数据
redis·mysql·状态模式·checkpoint·state·状态图·langgraph
打工仔折腾 AI3 小时前
SQL 编辑器不是高级记事本:KStudio 与 KSQL Developer 的建表与增删改查手法
数据库·人工智能·后端·python·sql·编辑器·ai agent 实战
Data analyse4563 小时前
用户路径SQL按会话起止时间聚合的方法
大数据·服务器·前端·数据库·人工智能·sql·数据分析
zh73144 小时前
sqlforge一个SQL 格式化与方言转换工具
数据库·sql