MySQL-内置函数

发布于:2025-08-30 ⋅ 阅读:(26) ⋅ 点赞:(0)

目录

一、日期函数 ​编辑

二、字符串函数 ​编辑

三、数学函数 ​编辑

四、其它函数 


       在数据库操作中,函数是提升数据处理效率与灵活性的关键工具。MySQL 提供了丰富的函数,涵盖日期处理、字符串操作、数学计算等多个场景。本文将结合实际案例,深入讲解常用函数的用法,助力大家高效处理数据。
 

一、日期函数
 

日期处理在业务开发中极为常见,MySQL 的日期函数可轻松获取、计算时间信息。
 
1. 获取时间信息
 
- current_date():获取当前日期,格式如  2025-08-29  ,用于记录生日表(如  tmp  表)的日期数据插入,语句  insert into tmp(birthday) values(current_date());  能便捷录入当前日期 。
- current_time():获取当前时间,像  11:49:00  这样的时分秒形式,适合关注时间点的场景 。
- current_timestamp():获取当前时间戳,包含日期和时间,如  2025-08-29 11:49:00  ,留言表  msg  插入数据时用  now() (效果类似)记录发送时间,语句  insert into msg(content,sendtime) values('hello1', now());   。
 
2. 日期计算
 
- date_add(date, interval d_value_type):给日期添加时间间隔。例如  select date_add('2017-10-28', interval 10 day);  ,能算出  2017-11-07  ,可用于会员有效期延长等场景 。
- date_sub(date, interval d_value_type):从日期减去时间间隔,如  select date_sub('2017-10-01', interval 2 day);  得到  2017-09-29  ,适用于计算截止日期等 。
- datediff(date1, date2):计算两个日期差值,单位为天。比如  select datediff('2017-10-10', '2016-09-01');  得出  404  ,可用于统计活动持续天数 。
 

二、字符串函数
 

字符串函数用于处理字符内容,满足格式化、替换、截取等需求。
 
1. 基础操作
 
- charset(str):返回字符串字符集,如  select charset(ename) from EMP;  可查看  EMP  表  ename  列字符集 。
- concat(string2 [,...]):连接字符串,像  select concat(name, '的语文是',chinese,'分,数学',math,'分,英语',english,'分') as '分数' from student;  ,能按指定格式拼接学生成绩信息 。
 
2. 进阶处理
 
- length(string):获取字符串长度(按字节算),多字节字符(如中文)占多个字节, select length(name), name from student;  可统计学生姓名字节数 。
- replace(str, search_str, replace_str):替换字符串内容, select replace(ename, 'S', '上海') ,ename from EMP;  把  EMP  表  ename  字段里的  S  换成  上海   。
- substring(str, position [,length]):截取字符串, select substring(ename, 2, 2), ename from EMP;  截取  ename  字段第 2 到第 3 个字符,可用于提取部分字符信息 。
 

三、数学函数
 

数学函数助力数值运算,简化复杂计算流程。
 
1. 常用计算
 
- abs(number):求绝对值, select abs(-100.2);  得到  100.2   。
- ceiling(number):向上取整, select ceiling(23.04);  结果为  24   。
- floor(number):向下取整, select floor(23.7);  得出  23   。
- format(number, decimal_places):格式化小数,保留指定位数, select format(12.3456, 2);  得到  12.35  (四舍五入) 。
 

四、其它函数
 

除上述类别,还有实用的“其它函数”。
 
- user():查询当前用户, select user();  了解数据库当前登录用户 。
- md5(str):对字符串做 MD5 摘要,生成 32 位字符串, select md5('admin')  可用于简单密码加密存储(实际场景建议更安全的加密方式) 。
- database():显示当前使用的数据库, select database();  快速知晓操作的数据库 。
- ifnull(val1, val2):处理空值, val1  为  null  则返回  val2  ,否则返回  val1  ,如  select ifnull('abc', '123');  返回  abc  , select ifnull(null, '123');  返回  123   ,可用于数据查询时的空值替换,保证结果规整 。 
 
        掌握这些 MySQL 函数,能大幅提升数据处理效率,无论是简单的时间获取、字符串拼接,还是复杂的数值计算、空值处理,都可借助函数轻松实现。在实际开发中,灵活组合运用函数,让数据库操作更高效、更贴合业务需求!


网站公告

今日签到

点亮在社区的每一天
去签到