1、CURDATE()、CURTIME()、NOW()
CURDATE():系统当前日期
CURTIME():系统当前时间
NOW():当前时间
SELECT
CURDATE() AS 系统当前日期,
CURTIME() AS 系统当前时间,
NOW() AS 当前时间,
CONCAT(CURDATE(), ‘ ‘, CURTIME()) AS 拼接系统当前日期和当前时间 ;
使用 CONCAT(str1,str2,.....) 函数拼接 系统当前日期、系统当前时间得到的结果和 NOW() 函数的结果是一致的
2、STR_TO_DATE(str,format)
STR_TO_DATE 函数将 str 转化为日期类型的数据, format 表示转化后的格式
// 注意: 前后的格式要匹配
SELECT STR_TO_DATE(‘2021年07月09日‘, ‘%Y年%m月%d日‘);
SELECT STR_TO_DATE(‘2021年07月09日11时:22分:33秒‘,‘%Y年%m月%d日%H时:%i分:%s秒‘);
SELECT STR_TO_DATE(‘2021-07-09‘, ‘%Y-%m-%d‘);
SELECT STR_TO_DATE(‘2021-07-09 14:15:16‘, ‘%Y-%m-%d %H:%i:%s‘);
SELECT STR_TO_DATE(‘2021/07/09‘, ‘%Y/%m/%d‘);
SELECT STR_TO_DATE(‘2021/07/09 14:15:16‘, ‘%Y/%m/%d %H:%i:%s‘);
format 格式常用参数
%Y: 年 (四位数字的年)
%m: 月 (两位数字的月) (00-12)
%d: 天 (两位数字的天) (00-31)
%H: 时 (两位数字的小时) (00-23)
%i: 分 (两位数字的分钟) (00-59)
%S/%s: 秒 (两位数字的秒) (00-59)
3、DATE_FORMAT(date,format)
DATE_FORMAT 函数将日期转换成 date 类型的数据,format 表示转化后的格式
其使用方式和 STR_TO_DATE(str,format) 类似
下面这三种查询得到的结果是相同的
SELECT * FROM bu_balance_change_detail
WHERE
update_time >= STR_TO_DATE(‘2021-07-08 17:46:10‘,‘%Y-%m-%d %H:%i:%s‘)
AND
update_time <= STR_TO_DATE(‘2021-07-08 19:25:52‘,‘%Y-%m-%d %H:%i:%s‘);
SELECT * FROM bu_balance_change_detail
WHERE
update_time >= DATE_FORMAT(‘2021-07-08 17:46:10‘,‘%Y-%m-%d %H:%i:%s‘)
AND
update_time <= DATE_FORMAT(‘2021-07-08 19:25:52‘,‘%Y-%m-%d %H:%i:%s‘);
SELECT * FROM bu_balance_change_detail
WHERE
update_time >= ‘2021-07-08 17:46:10‘
AND
update_time <= ‘2021-07-08 19:25:52‘;