Mysql 時間處理

2021-08-02 22:17:11 字數 3341 閱讀 9713

mysql計算兩個日期時間的差函式:

第一種:timestampdiff函式,需要傳入三個引數,第乙個是比較的型別,可以比較frac_second、second、 minute、 hour、 day、 week、 month、 quarter或 year幾種型別,第二個和第三個引數是待比較的兩個時間,比較是後乙個時間減前乙個時間,具體用法如下:

select timestampdiff(day,'2012-10-01','2013-01-13');

返回結果是104,這裡比較的是兩個時間的天數差;

第二種方法: datediff函式,就傳入兩個日期函式,比較的day天數,第乙個引數減去第二個引數的天數值,具體用法如下:

select datediff('2013-01-13','2012-10-01');

今天

select * from 表名 where to_days(時間欄位名) = to_days(now());
昨天

select * from 表名 where to_days( now( ) ) - to_days( 時間欄位名) <= 1

7天

select * from 表名 where date_sub(curdate(), interval

7day) <= date(時間欄位名)

近30天

select * from 表名 where date_sub(curdate(), interval

30day) <= date(時間欄位名)

本月

select * from 表名 where date_format( 時間欄位名, '%y%m' ) = date_format( curdate( ) , '%y%m' )

上一月

select * from 表名 where period_diff( date_format( now( ) , '%y%m' ) , date_format( 時間欄位名, '%y%m' ) ) =1

查詢本季度資料

select * from

`ht_invoice_information`

where quarter(create_date)=quarter(now());

查詢上季度資料

select * from

`ht_invoice_information`

where quarter(create_date)=quarter(date_sub(now(),interval

1 quarter));

查詢本年資料

select * from

`ht_invoice_information`

where

year(create_date)=year(now());

查詢上年資料

select * from

`ht_invoice_information`

where

year(create_date)=year(date_sub(now(),interval

1year));

查詢當前這週的資料

select name,submittime from enterprise where yearweek(date_format(submittime,'%y-%m-%d')) = yearweek(now());
查詢上週的資料

select name,submittime from enterprise where yearweek(date_format(submittime,'%y-%m-%d')) = yearweek(now())-1;
查詢距離當前現在6個月的資料

select name,submittime from enterprise where submittime between date_sub(now(),interval

6month) and now();

查詢上個月的資料

select name,submittime from enterprise where date_format(submittime,'%y-%m')=date_format(date_sub(curdate(), interval

1month),'%y-%m')

select * from

user

where date_format(pudate,'%y%m') = date_format(curdate(),'%y%m') ;

select * from

user

where weekofyear(from_unixtime(pudate,'%y-%m-%d')) = weekofyear(now())

select * from

user

where

month(from_unixtime(pudate,'%y-%m-%d')) = month(now())

select * from

user

where

year(from_unixtime(pudate,'%y-%m-%d')) = year(now()) and

month(from_unixtime(pudate,'%y-%m-%d')) = month(now())

select * from

user

where pudate between 上月最後一天 and 下月第一天

mysql處理時間 mysql處理時間

將標準格式的日期的轉為指定格式 x這個欄位不一定需要是什麼型別,字串只要是標準的型別就可以轉 date format x,y m date format curdate y m 這裡是單引號,裡面是字串,直接複製可能會有問題,自己改下即可.得到當前的時間戳 unix timestamp 括號裡面傳標...

MySql時間處理

很多時候,我們在進行mysql資料庫查詢的時候就希望對時間進行處理,比如格式化或者其他操作,這邊就避免了再處理,而mysql也有很多時間方面的處理函式,今天就簡單的做乙個小的總結,給大家進行參考。如果我們想對時間進行增加或者減少處理,我們可以使用date add 函式,傳入兩個引數,第乙個引數是要改...

MySql時間處理

非常多時候。我們在進行mysql資料庫查詢的時候就希望對時間進行處理,比方格式化或者其它操作,這邊就避免了再處理。而mysql也有非常多時間方面的處理函式,今天就簡單的做乙個小的總結,給大家進行參考。假設我們想對時間進行新增或者降低處理。我們能夠使用date add 函式,傳入兩個引數,第乙個引數是...