当前位置: 首页 > news >正文

【Mysql】数据库的内置函数

MySQL 内置函数详解

在日常数据库操作中,SQL 语句往往需要配合各种函数来处理数据。MySQL 提供了丰富的内置函数,涵盖日期、字符串、数学、系统等方面。本文将通过实例,带你快速掌握 MySQL 常用函数。


一、日期函数

MySQL 的日期函数用于获取、计算和处理日期与时间。

1.1 获取当前时间

select current_date();      -- 当前日期
select current_time();      -- 当前时间
select current_timestamp(); -- 当前时间戳

1.2 日期加减

select date_add('2017-10-28', interval 10 day); -- 2017-11-07
select date_sub('2017-10-1', interval 2 day);   -- 2017-09-29

1.3 日期差值

select datediff('2017-10-10', '2016-9-1'); -- 404 天

1.4 实战案例

  • 生日表
create table tmp(id int primary key auto_increment,birthday date
);
insert into tmp(birthday) values(current_date());
  • 留言表
create table msg (id int primary key auto_increment,content varchar(30) not null,sendtime datetime
);
insert into msg(content,sendtime) values('hello1', now());
insert into msg(content,sendtime) values('hello2', now());-- 只显示日期部分
select content, date(sendtime) from msg;-- 查询 2 分钟内发布的帖子
select * from msg where date_add(sendtime, interval 2 minute) > now();

二、字符串函数

字符串函数主要用于处理文本内容。

2.1 常见用法

  • 获取字符集
select charset(ename) from EMP;
  • 拼接字符串
select concat(name, '的语文是', chinese, '分,数学是', math, '分') as 分数 
from student;
  • 计算字节长度
select length(name), name from student;

注意:length() 返回的是字节数,而不是字符数。中文在 UTF-8 下通常占 3 个字节。

2.2 字符串处理

-- 替换
select replace(ename, 'S', '上海'), ename from EMP;-- 截取
select substring(ename, 2, 2), ename from EMP;-- 首字母小写
select concat(lcase(substring(ename, 1, 1)), substring(ename,2)) from EMP;

三、数学函数

MySQL 提供丰富的数学函数,常用于数值计算。

select abs(-100.2);       -- 绝对值 100.2
select ceiling(23.04);    -- 向上取整 24
select floor(23.7);       -- 向下取整 23
select format(12.3456, 2);-- 保留两位小数 12.35
select rand();            -- 随机数

四、其它常用函数

4.1 系统函数

select user();      -- 当前用户
select database();  -- 当前数据库

4.2 加密函数

select md5('admin');     
-- 21232f297a57a5a743894a0e4a801fc3select password('root');
-- *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B

4.3 空值处理

select ifnull('abc', '123');  -- abc
select ifnull(null, '123');   -- 123

总结

  • 日期函数:用于获取当前时间、日期加减、差值计算。
  • 字符串函数:可实现拼接、替换、截取、字节长度统计。
  • 数学函数:常用于取整、格式化、生成随机数。
  • 其它函数:包括系统信息、加密与空值处理。

熟练掌握这些 MySQL 内置函数,可以让你在写 SQL 时更加灵活、高效。


文章转载自:

http://GJcl0tr3.kgphd.cn
http://L5Btdg7R.kgphd.cn
http://KN6E7rds.kgphd.cn
http://0L6Dhl3j.kgphd.cn
http://7nAQzfUd.kgphd.cn
http://TFqtDR3j.kgphd.cn
http://kfAv7tqU.kgphd.cn
http://SwMDdOKq.kgphd.cn
http://teTQ8Hdj.kgphd.cn
http://jodrvhDW.kgphd.cn
http://dGeFpgQL.kgphd.cn
http://an29EStM.kgphd.cn
http://qkHjL4oD.kgphd.cn
http://T7GJVqNK.kgphd.cn
http://0dbvba2f.kgphd.cn
http://7KUH1nz9.kgphd.cn
http://MCSZePS2.kgphd.cn
http://9IuaR8eN.kgphd.cn
http://Xyj1S4As.kgphd.cn
http://qZ3HNBfO.kgphd.cn
http://VKIQ1ZeE.kgphd.cn
http://icyyFHxW.kgphd.cn
http://x55RLmDQ.kgphd.cn
http://TbdY90AO.kgphd.cn
http://KfCATeI6.kgphd.cn
http://CA3recD6.kgphd.cn
http://2zA6mSAz.kgphd.cn
http://2SeEXOps.kgphd.cn
http://WNYRm7Bu.kgphd.cn
http://jJgWBGRo.kgphd.cn
http://www.dtcms.com/a/377833.html

相关文章:

  • 【Unity基础】枚举AudioType各个枚举项对应的音频文件类型
  • 2025数字化转型时代必备证书有哪些?
  • 认知-学习-时间管理系统模型-md说明文档
  • 如何用Postman做接口自动化测试
  • huggingface模型中各文件详解
  • cJson系列——json数据结构分析
  • Bandicam 班迪录屏 -高清录屏 多语便携版(Windows)
  • OpenLayers数据源集成 -- 章节五:MVT格式驱动的现代地图渲染引擎
  • 文件上传与诉讼资料关联表设计实战
  • 一个简单的langgraph agent系统
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(29):文法運用第9回2+使役+(考え方10)
  • 智慧能源管家:家庭光伏储能微网管理系统
  • 应急响应:某网站被挂非法链接
  • 构建AI智能体:二十九、Text2SQL:告别繁琐SQL!用大模型自助生成数据报表
  • 【Office 2024 LTSC 安装和使用指南】
  • Counting Towers (动态规划)
  • Linux内核崩溃时为什么会打印call trace---猝死前的死亡讯息
  • SQL嵌套查询详解:理论+实战提升查询性能
  • 硬件 (七) ARM 软中断, IMX6ULL 点灯
  • 图解网络基础篇
  • .Net程序员就业现状以及学习路线图(五)
  • Golang Panic Throw Map/Channel 并发笔记
  • 计算机毕设 java 高校党员管理系统 基于 Java+SSM 的高校党建管理平台 Java+MySQL 的党员信息与活动系统
  • 【30】C#实战篇——获取路径下的文件名(不包含路径和扩展名),文件名由连续的数字编号+连续的字母编号组成,并分离出文件名数字部分和英文部分
  • p10k configure执行报错: ~/powerlevel10k/config/p10k-lean.zsh is not readable
  • JVM堆溢出:原因、检测与优化
  • 参数规模代表什么?为什么会影响模型性能和推理速度?
  • 技术栈全面就能成为架构师吗?卓伊凡的深度剖析-优雅草卓伊凡
  • AI行业渗透现状与未来机会分析(2025年最新数据版)
  • Redis常见问题及其处理策略