**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);
SQL常用日期時間處理函式
select getdate select datepart mm,getdate select datepart yy,getdate select datepart dd,getdate select datepart dy,getdate select datepart wk,getdate ...
sql日期處理
1 日期格式化處理 declare dt datetime set dt getdate 1 短日期格式 yyyy m d select replace convert varchar 10 dt,120 n 0 2 長日期格式 yyyy年mm月dd日 a.方法1 select stuff stuf...
SQL日期處理 短日期
1 獲取當前日期 getdate 2 短日期 convert varchar 10 getdate 23 返回 2010 04 06 3 dateadd day,1,getdate 當前日期加1 日期部分 縮寫yearyy,yyyy quarterqq,q monthmm,m dayofyeardy...