记录一下本项目中 使用过的一些函数
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)