【MySQL】7.MySQL 的内置函数

MySQL的内置函数

一.日期函数

函数名称 说明
current_date() 当前日期
current_time() 当前时间
current_timestamp 当前时间戳(日期时间)
date(datetime) 截取 datetime 的日期部分
date_add(date, interval d_value_type) 给 date 添加一段时间,interval 后的数值单位可以是 day, minute, second, year
date_sub(date, interval d_vaule_type) 给 date 减去一段时间,interval 后的数值单位可以是 day, minute, second, year
datediff(date1, date2) 计算 date1 和 date2 两个日期的差值,单位是天
now() 当前日期时间
sql 复制代码
//案例:创建一个留言表
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 * from msg; 
+----+---------+---------------------+
| id | content | sendtime            |
+----+---------+---------------------+
|  1 | hello1  | 2024-07-12 10:57:17 |
|  2 | hello2  | 2024-07-12 10:57:22 |
+----+---------+---------------------+

//显示所有留言信息,发布日期只显示日期,不用显示时间
select content, date(sendtime) from msg;
+---------+----------------+
| content | date(sendtime) |
+---------+----------------+
| hello1  | 2024-07-12     |
| hello2  | 2024-07-12     |
+---------+----------------+

//查询在2分中内发布的帖子
select * from msg where date_add(sendtime, interval 2 minute) > now();

二.字符串函数

函数名称 说明
charset(str) 返回字符串的字符集
concat(str1, str2, ...) 连接多个字符串
instr(string, substring) 返回 substring 在 string 中的下标(从 1 开始),如果存在则返回 0
ucase(str) 转大写
lcase(str) 转小写
left(str, length) 从 string 的左边起截取 length 个字符
length(str) 返回 str 长度,单位是字节(utf8 编码中,字母,数字占 1 字节,汉字占 3 字节)
replace(str, search_str, replace_str) 在 str 中用 replace_str 替换 search_str,返回替换后的结果
strcmp(str1, str2) 比较两字符串大小
substring(str, pos ,length) 从 pos 位置开始截取 str,取 length 个字符
ltrim(str) rtrim(str) trim(str) 去除前空格,后空格,前后空格

三.数学函数

函数名称 说明
abs(num) 取绝对值
bin(decimal_number) 十进制转二进制
hex(decimal_number) 十进制转十六进制
conv(num, from_base, to_base) 进制转换
celling(num) 向上取整
floor(num) 向下取整
format(number, decimal_places) 格式化,保留小数位数
rand() 返回随机浮点数,范围0.0,1.0
mod(num, denominator) 取模,求余

四.其它函数

  • user() 查询当前用户
  • md5(str)对一个字符串进行 md5 摘要,摘要后得到一个 32 位字符串
  • database()显示当前正在使用的数据库
  • password()函数,MySQL 数据库使用该函数对用户加密
  • ifnull(val1, val2) 如果 val1 为 null,返回 val2,否则返回 val1 的值
相关推荐
栗子~~3 分钟前
金融场景下BigDecimal 运算规范 + 常用场景使用 + 数据库字段设计详解
java·数据库·金融
王小王-12311 分钟前
基于深度学习的个性化音乐推荐系统的设计与开发
人工智能·深度学习·mysql·vue·推荐算法·个性化音乐推荐系统·音乐预测
他们叫我技术总监20 分钟前
Kettle(PDI)连接TDengine数据库实战:一个有趣的小现象
大数据·数据库·tdengine
SilentSamsara26 分钟前
RAG 系统入门:LangChain/LlamaIndex + Chroma 向量数据库的检索增强实战
数据库·人工智能·python·青少年编程·langchain
RoboWizard30 分钟前
一块硬盘上架前要闯多少关?
java·服务器·数据库
oyyanghh31 分钟前
从Cursor到TRAE的三周vibe coding体验对比
数据库·oracle
Bert.Cai36 分钟前
Oracle CONCAT函数详解
数据库·oracle
豆豆43 分钟前
2026年如何选择适合自己的网站管理系统?
数据库·cms·wordpress·建站系统·网站管理系统·建站软件·织梦
xuefuhe1 小时前
MySQL8.4 tar.xz安装
mysql
吴声子夜歌1 小时前
SQL经典实例——检索记录
数据库·sql