mysql常用日期、時間查詢


 

好記性不如爛筆頭

select curdate();  --獲取當前日期
select last_day(curdate());  --獲取本月最后一天。
select DATE_ADD(curdate(),interval -day(curdate())+1 day);  -- 獲取本月第一天
select date_add(curdate()-day(curdate())+1,interval 1 month);  -- 獲取下個月的第一天
select date_sub(curdate()-day(curdate())+1,interval 1 month);  -- 上個月第一天
select last_day(date_sub(curdate(),interval 1 month)); -- 上個月最后一天
select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --獲取當前月的天數
select subdate(curdate(),date_format(curdate(),'%w')-1) -- 本周一
SELECT DATE_SUB(now(),INTERVAL WEEKDAY(now()) day); -- 本周一
select subdate(curdate(),date_format(curdate(),'%w')-7) -- 本周日

-- 前一秒
select SUBDATE(now(),interval 1 second);
-- 前一分鍾
select SUBDATE(now(),interval 1 minute);
-- 前一個小時
SELECT date_sub(NOW(), interval 1 hour)
-- 前一天某個時間點
SELECT date_sub(DATE_FORMAT(NOW(),'%Y-%m-%d 18:00:00'), interval 1 day)
-- 前一天
SELECT date_sub(now(),interval 1 day)
-- 前一月 后一月
date_sub(curdate(),interval 1 month) 表示 2013-04-20
date_sub(curdate(),interval -1 month) 表示 2013-06-20
-- 前一年 后一年
date_sub(curdate(),interval 1 year) 表示 2012-05-20
date_sub(curdate(),interval -1 year) 表示 2014-05-20
-- 字符串轉日期
select str_to_date('2017-11-20', '%Y-%m-%d %H:%i:%s');
-- 時間轉字符串
select date_format(now(), '%Y-%m-%d');
-- 字符串轉時間戳
select unix_timestamp('2016-01-02');
-- 時間戳轉時間
select from_unixtime(1451997924);
-- 時間戳轉字符串
select from_unixtime(1451997924,'%Y-%d');
-- 時間轉時間戳
select unix_timestamp(now());

-- 查詢前一天數據
select * from user_info where join_time BETWEEN date_sub(CURDATE(), INTERVAL 1 DAY) AND date_sub(DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59'),INTERVAL 1 DAY);
-- 上周一
select subdate(  date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),date_format( date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),'%w')-1);
-- 上周日
select date_add(subdate(  date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),date_format( date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),'%w')-1), interval 6 day);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM