0

0

mysql内置函数有哪些常用类型_mysql函数分类说明

P粉602998670

P粉602998670

发布时间:2026-02-09 08:51:02

|

330人浏览过

|

来源于php中文网

原创

最常用、最值得优先掌握的是字符串函数、日期时间函数、数学函数、控制流程函数这四类,覆盖90%以上日常SQL数据加工需求;它们分别支撑文本处理、时间运算、数值计算与逻辑判断。

mysql内置函数有哪些常用类型_mysql函数分类说明

MySQL 内置函数不是“一堆零散工具”,而是按数据处理场景组织的几类核心能力模块。直接说结论:**最常用、最值得优先掌握的是字符串函数、日期时间函数、数学函数、控制流程函数这四类**,覆盖了 90% 以上的日常 SQL 数据加工需求。

字符串函数:文本拼接、清洗、提取的主力

这是你写 SELECTUPDATE 时调用频率最高的函数类别,尤其在报表生成、字段标准化、日志解析中几乎必用。

  • CONCAT()CONCAT_WS():前者简单拼接(CONCAT('a','b')'ab'),后者带分隔符更安全(CONCAT_WS('-', '2025', '12', '31')'2025-12-31');注意任一参数为 NULL 时,CONCAT() 整体返回 NULL,而 CONCAT_WS() 会跳过 NULL 参数
  • TRIM() / LPAD() / RPAD():清理空格或补位很常见,比如工号补零:LPAD(workno, 5, '0') —— 但要注意,如果原始值是字符串(如 'A1'),补的是字符,不是数值对齐;若字段是数字类型,先转成字符串再补
  • SUBSTRING()LEFT()/RIGHT():截取位置从 1 开始(不是 0),这是新手最容易写错的地方;SUBSTRING('abcde', 2, 3) 返回 'bcd',不是 'cde'
  • REPLACE() 是全局替换,不支持正则;想做模式替换得用 REGEXP_REPLACE()(MySQL 8.0.4+ 才有),低版本只能靠应用层或多次 REPLACE()

日期时间函数:处理“时间”不能只靠 NOW()

业务中大量涉及“最近7天”“入职满1年”“按月汇总”,光用 NOW() 远不够,关键在能加减、能格式化、能比大小。

  • DATE_ADD()DATE_SUB() 是时间运算基础,单位必须明确:DATE_ADD(NOW(), INTERVAL 3 MONTH) 合法,DATE_ADD(NOW(), INTERVAL 30 DAY) 也合法,但别写成 INTERVAL 30(缺单位会报错)
  • DATEDIFF() 只返回天数差(整数),且只认日期部分(自动忽略时分秒);要算精确到秒的差,用 TIMESTAMPDIFF(SECOND, t1, t2)
  • DATE_FORMAT() 格式符大小写敏感:%Y 是 4 位年,%y 是 2 位;%m 是月份数字(01–12),%M 是英文月份名(January);错误写成 %MM 或漏掉 % 会导致原样输出
  • 所有日期函数输入值必须是合法日期类型(DATE / DATETIME / TIMESTAMP),传入字符串如 '20251231' 可能被隐式转换失败,建议显式用 STR_TO_DATE('20251231', '%Y%m%d')

数学与控制流程函数:让 SQL 具备“逻辑判断”能力

这类函数把 SQL 从“查数据”升级为“算逻辑”,避免在应用层做 if-else 拆分查询。

MewXAI
MewXAI

一站式AI绘画平台,支持AI视频、AI头像、AI壁纸、AI艺术字、可控AI绘画等功能

下载
  • IF() 最轻量:IF(score >= 60, '及格', '不及格');但嵌套深了可读性差,复杂分支建议用 CASE WHEN
  • IFNULL()COALESCE() 都用于空值兜底,区别在于:IFNULL(a,b) 只接受两个参数,COALESCE(a,b,c) 支持多参数并返回第一个非 NULL 值;COALESCE 是 SQL 标准,跨数据库兼容性更好
  • ROUND(x, d) 四舍五入,注意 MySQL 的 ROUND() 对 .5 的处理是“向偶数舍入”(banker’s rounding),比如 ROUND(2.5, 0) = 2,ROUND(3.5, 0) = 4 —— 和多数编程语言默认行为不同,财务场景需特别验证
  • RAND() 每行返回不同随机数,不能用于固定种子场景;如需可重现的随机序列,得靠应用层生成后传入

别忽略 CHAR_LENGTH() 和 LENGTH() 的本质差异

这个点看似小,却在中文、emoji 场景下频繁引发 bug:一个汉字在 utf8mb4 下占 4 字节,但只是 1 个字符。

  • CHAR_LENGTH('数据库') 返回 3(字符数)
  • LENGTH('数据库') 返回 12(字节数,utf8mb4 编码下)
  • 做字段长度校验、截断、填充时,务必确认业务语义是“几个字”还是“占多少空间”;比如限制昵称最多 10 个汉字,该用 CHAR_LENGTH(),而不是 LENGTH()
  • 索引前缀长度限制(如 VARCHAR(255) 加前缀索引 INDEX(col(10)))中的 10 指的是字符数(MySQL 5.7+),和 CHAR_LENGTH() 对齐
真正用好 MySQL 函数,不是背列表,而是清楚每个函数的边界:它接受什么输入、拒绝什么输入、在 NULL 下怎么表现、在不同字符集/版本下是否一致。尤其是字符串长度、日期格式符、四舍五入规则这些细节,线上出问题时往往就卡在这几步。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

878

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

332

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

351

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1509

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

366

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

1086

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

581

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

432

2024.04.29

Golang处理数据库错误教程合集
Golang处理数据库错误教程合集

本专题整合了Golang数据库错误处理方法、技巧、管理策略相关内容,阅读专题下面的文章了解更多详细内容。

127

2026.02.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2.2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 827人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号