【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 的值
相关推荐
gma9991 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️1 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98762 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
武子康2 小时前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
黑色叉腰丶大魔王2 小时前
《MySQL 数据库备份与恢复》
mysql
苏-言2 小时前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
Ljw...2 小时前
索引(MySQL)
数据库·mysql·索引
菠萝咕噜肉i2 小时前
超详细:Redis分布式锁
数据库·redis·分布式·缓存·分布式锁
长风清留扬2 小时前
一篇文章了解何为 “大数据治理“ 理论与实践
大数据·数据库·面试·数据治理
OpsEye2 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级