MySQL datetime、date妻顶、time、str之間的轉(zhuǎn)化與比較_nacrt的博客-CSDN博客_mysql todatetime
SELECT NOW(),CURDATE(),CURTIME(),
-- datetime 轉(zhuǎn) date time
NOW(), DATE(NOW()), TIME (NOW()), CONCAT(DATE(NOW()), ' ', TIME (NOW())),
-- str 轉(zhuǎn) datetime date time
str_to_date('2019-04-25 08:50:00', '%Y-%m-%d %H:%i:%s'),DATE('2019-04-25 08:50:00'),TIME ('2019-04-25 08:50:00'),
str_to_date('2019-04-25 08:50:00', '%Y-%m-%d %T'),
-- 比較
NOW() = CONCAT(DATE(NOW()), ' ', TIME (NOW())),
DATE(NOW()) = '2019-04-25',
NOW() = DATE(NOW()),
NOW() = TIME (NOW());
-- 獲取當前時間的函數(shù)
select CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME; -- 當前時間
select CURRENT_TIMESTAMP(), CURRENT_DATE(), CURRENT_TIME(), CURDATE(), CURTIME(); -- 當前時間
select now(), sysdate(), SLEEP(3), now(), sysdate(); -- 當前時間
select UTC_TIMESTAMP(), UTC_DATE(), UTC_TIME(); -- UTC時間
select UNIX_TIMESTAMP(), UNIX_TIMESTAMP(now());-- 函數(shù)返回連接當前時區(qū)內(nèi)的值(時間戳)
select FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %H:%i:%s'); -- 時間戳格式化
select DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s'); -- 時間格式化
-- ----------------- 補充日期操作
/* 對日期進行 加減(兩個函數(shù)記一個即可)
DATE_ADD(date,INTERVAL expr type);
DATE_SUB(date,INTERVAL expr type);
type取值:YEAR蜒车、MONTH讳嘱、DAY、HOUR酿愧、MINUTE沥潭、SECOND、YEAR_MONTH嬉挡、DAY_SECOND 等等
*/
-- 加1天
select DATE_ADD(now(),INTERVAL 1 DAY), DATE_SUB(now(),INTERVAL -1 DAY);
-- 復(fù)合型:加1年1月
select DATE_ADD(now(),INTERVAL '1 1' YEAR_MONTH), DATE_SUB(now(),INTERVAL '-1 -1' YEAR_MONTH);
-- 加1天2時3分4秒
select DATE_ADD('2020-12-23 00:00:00',INTERVAL '1 2:3:4' DAY_SECOND),DATE_SUB('2020-12-23 00:00:00',INTERVAL '-1 -2:-3:-4' DAY_SECOND);
/* 獲取兩個日期之間的差值(datetime_expr2-datetime_expr1的值)
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
unit:差值的單位钝鸽,取值:FRAC_SECOND(低版本不支持)汇恤、SECOND、MINUTE拔恰、HOUR因谎、DAY、WEEK颜懊、MONTH财岔、QUARTER或YEAR
*/
-- 查詢兩個日期間的差值(單位秒)
select TIMESTAMPDIFF(SECOND,'2020-12-01 00:00:00','2020-12-01 01:01:01');
mysql 更多日期和時間相關(guān)函數(shù)請參考:https://www.mysqlzh.com/doc/118.html