【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 的值
相关推荐
蓝天下的守望者24 分钟前
svt_apb_if里的宏定义问题
运维·服务器·数据库
上海云盾-小余35 分钟前
网站频繁遭遇 SQL 注入溯源与原生漏洞修复全流程总结
数据库·sql
数据库小学妹37 分钟前
国家区域医疗中心国产化改造实战:数据库选型、跨院区数据互通与踩坑经验
数据库·国产数据库·数据库选型·医疗信息化·信创数据库·医疗信创
TPBoreas1 小时前
MySQL性能优化面试全攻略
mysql·面试·性能优化
xlq223222 小时前
11.表的内外连接,索引
mysql
AllData公司负责人2 小时前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
2603_954708312 小时前
全维度容错设计,打造微电网安全运行屏障
服务器·网络·数据库·人工智能·分布式·安全
IvorySQL3 小时前
从双解析器到循环工程:IvorySQL 五年技术演进路线的深度观察
大数据·数据库·人工智能·postgresql·开源
wefg13 小时前
【MySQL】事务
数据库·mysql
黑白极客3 小时前
mysql的高可用性
数据库·mysql