在mysql使用過程中,日期一般都是以datetime、timestamp等格式進行儲存的,但有時會因為特殊的需求或歷史原因,日期的儲存格式是varchar,那麼我們該如何處理這個varchar格式的日期資料呢
時間欄位為greens_data 型別為 varchar
1、第一種
函式str_to_date(str,format):將字串轉為時間格式
select greens_id,greens_date from greens
where str_to_date(greens_date,'%y-%m-%d') between '2019-08-01' and '2019-10-01'
order by greens_date desc
2、第二種
select greens_id,greens_date from greens
where str_to_date('開始時間','%y-%m-%d') and str_to_date('結束時間','%y-%m-%d')
order by str_to_date('時間欄位名','%y-%m-%d') desc
函式now():返回格式為yyyy-mm-dd hh:mm:ss
函式curdate():返回格式為yyyy-mm-dd
查詢本月
select * from greens where date_format( greens_date, '%y%m' ) = date_format( curdate( ) , '%y%m' )
select * from 表名 where period_diff( date_format( now( ) , '%y%m' ) , date_format( 時間欄位名, '%y%m' ) ) =1
查詢今日資料:
select * from 表名 where to_days(時間欄位名) = to_days(now());
查詢昨日資料:
select * from 表名 where to_days( now( ) ) - to_days( 時間欄位名) <= 1
查詢本年資料:
select * from `ht_invoice_information` where year(create_date)=year(now());
查詢本週資料:
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;
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...
mysql 日期查詢 Mysql日期查詢list
當前week的第一天 select date sub curdate interval weekday curdate 1 day 當前week的最後一天 select date sub curdate interval weekday curdate 5 day 前一week的第一天 select...
mysql日期查詢
查詢昨日一整天的資料 select date format date sub now interval 1 day y m d 00 00 00 as 昨日開始時間 date format date sub now interval 1 day y m d 23 59 59 as 昨日結束時間 查詢...