常用的sql日期處理

2021-09-05 11:17:35 字數 2622 閱讀 2151

**

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...