Mysql 函数

记录一下本项目中 使用过的一些函数

DATE()

格式化日期成 YYYY-MM-DD

复制代码
SELECT 
    DATE(sm.create_time) AS register_date,
    COUNT(*) AS register_count
FROM sys_member sm
WHERE sm.create_time >= '2026-01-13'
  AND sm.create_time < '2026-01-20'
GROUP BY DATE(sm.create_time)
ORDER BY register_date;

DATE(sm.create_time) 会把 '2026-01-19 14:30:22' 这样的值变成 '2026-01-19'

char_length()

计算内容的长度

与length()的区别是

length(): 单位是字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。gbk编码下,一个汉字两个字节,一个数字或字母一个字节。

char_length():单位为字符,不管汉字还是数字或者是字母都算是一个字符

里面的内容长度大于8 (不区分中英文)

复制代码
SELECT * 
FROM sys_info so 
WHERE CHAR_LENGTH(so.courseId) > 8;

DATEDIFF()

计算两个时间相差的天数
复制代码
SELECT 
DATEDIFF(end_day, start_day) + 1 AS days
FROM sys__operation_log

date_add() + interval:

向前、向后偏移日期和时间;
复制代码
 UPDATE sys 
SET end_date = DATE_ADD(end_date , INTERVAL 16 DAY)

ROUND()

round(x,[保留的位数]):四舍五入;
复制代码
UPDATE sys
SET
 amount 
= ROUND(amount / 0.6, 1) 
相关推荐
KmSH8umpK6 分钟前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
梁萌28 分钟前
mysql使用事件做日志表数据转移
数据库·mysql
lThE ANDE29 分钟前
MySQL中的TRUNCATE TABLE命令
数据库·mysql
kexnjdcncnxjs33 分钟前
Redis如何记录每一次写操作_开启AOF持久化机制实现命令级追加记录
jvm·数据库·python
逸Y 仙X1 小时前
文章十九: ElasticSearch Full Text 全文本查询
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
STER labo1 小时前
mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
数据库·mysql·adb
微软技术分享1 小时前
本地部署千问 2.5-1.5B-GGUF + LangChain 封装学习
数据库·学习·langchain
七夜zippoe1 小时前
DolphinDB分区策略:VALUE分区详解
数据库·oracle·分区·value·dolphindb
rKWP8gKv71 小时前
数据库连接池选型:HikariCP与Druid的性能对比
数据库
dreamZhanglx1 小时前
MySQL进阶
数据库·mysql