mysql常用日期 時間查詢

2022-04-03 05:04:43 字數 3194 閱讀 3067

好記性不如爛筆頭

select curdate();  --

獲取當前日期

select last_day(curdate()); --

獲取本月最後一天。

select date_add(curdate(),interval -

day(curdate())+

1day); --

獲取本月第一天

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())+

1day)) 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

-20date_sub(curdate(),interval -1

month) 表示 2013-06

-20--前一年 後一年

date_sub(curdate(),interval 1

year) 表示 2012-05

-20date_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 -

1day),date_format(date_add(curdate(), interval -

1day),'

%w')-

1), interval -

2day),date_format( date_add(subdate( date_add(curdate(), interval -

1day),date_format(date_add(curdate(), interval -

1day),'

%w')-

1), interval -

2day),'

%w')-1);

--上週日

select date_add(subdate( date_add(subdate( date_add(curdate(), interval -

1day),date_format(date_add(curdate(), interval -

1day),'

%w')-

1), interval -

2day),date_format( date_add(subdate( date_add(curdate(), interval -

1day),date_format(date_add(curdate(), interval -

1day),'

%w')-

1), interval -

2day),'

%w')-

1), interval 6

day);

mysql 時間日期查詢

今天 select from 表名 where to days 時間欄位名 to days now 昨天 select from 表名 where to days now to days 時間欄位名 1 7天 select from 表名 where date sub curdate interva...

mysql 查詢日期 MySQL查詢時間段

之前說過mysql的時間欄位有date,time,datetime,timestamp等,在實際查詢時間段時,我們經常將整個字段儲存進去,例如像2011 03 10 00 00 00,也有分開儲存年,月,日的方式,或者使用right 等字元擷取函式來進行查詢操作。anyway,我們都是要對一段時間進...

mysql日期查詢 mysql 查詢日期

檢視本月資料 select from content publish where date format publish time,y m date format date sub curdate interval 0 month y m 檢視上個月資料 select from content pu...