【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 的值
相关推荐
IT项目管理25 分钟前
达梦数据库DMHS介绍及安装部署
linux·数据库
你都会上树?32 分钟前
MySQL MVCC 详解
数据库·mysql
大春儿的试验田38 分钟前
高并发收藏功能设计:Redis异步同步与定时补偿机制详解
java·数据库·redis·学习·缓存
Ein hübscher Kerl.1 小时前
虚拟机上安装 MariaDB 及依赖包
数据库·mariadb
长征coder1 小时前
AWS MySQL 读写分离配置指南
mysql·云计算·aws
醇醛酸醚酮酯2 小时前
Qt项目锻炼——TODO清单(二)
开发语言·数据库·qt
ladymorgana2 小时前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
PanZonghui2 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
GreatSQL社区2 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根2 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql