Mysql根据日期查询
?
mysql的根據(jù)日期查詢數(shù)據(jù)和在日期區(qū)間查詢數(shù)據(jù).?
首先,看數(shù)據(jù)表和表結(jié)構(gòu)?
建表語句:?
CREATE TABLEdatetest(?
idint(11) NOT NULL AUTO_INCREMENT,?
brand_namevarchar(100) DEFAULT NULL COMMENT '品牌名稱',?
model_namevarchar(100) DEFAULT NULL COMMENT '機(jī)型名稱',?
datedate DEFAULT NULL COMMENT '日期',?
sale_numint(11) DEFAULT '0' COMMENT '銷量',?
insert_timedatetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '插入時間',?
PRIMARY KEY (id),?
KEYid(id)?
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COMMENT='TOP機(jī)型,品牌表';?
---------------------?
說明一下,表里的列date的數(shù)據(jù)類型就是date類型(如果日期數(shù)據(jù)列的數(shù)據(jù)類型varchar,那么我們可以直接用like關(guān)鍵字就可以查出某月或者某年的數(shù)據(jù)),insertTime列的數(shù)據(jù)類型是datetime,所以我們根據(jù)date日期來查數(shù)據(jù).我們用到的函數(shù)是DATE_FORMAT(),?
語法是:DATE_FORMAT(date,format)?
參數(shù)解釋:date 參數(shù)是合法的日期。format 規(guī)定日期/時間的輸出格式?
具體參照DATE_FORMAT()函數(shù)?
首先,根據(jù)日期來查數(shù)據(jù):?
比如現(xiàn)在要查詢2017年8月9號的記錄
SELECT
? ? *
FROM
? ? `dateTest`?
where ?DATE_FORMAT(date,'%Y%m%d') = '20170809'
---------------------?
根據(jù)月份查數(shù)據(jù):?
查詢2017年6月份的數(shù)據(jù)
?
根據(jù)年份查詢?
查詢2017年的數(shù)據(jù)
?
接下來在日期區(qū)間查詢數(shù)據(jù)?
查詢,2017年06月01號到2017年06月25號的數(shù)據(jù)
SELECT
? ? *
FROM
? ? `dateTest`?
where ?DATE_FORMAT(date,'%Y%m%d') BETWEEN '20170601' and '20170625'
---------------------?
根據(jù)月份區(qū)間查詢?
查詢2017年06月到2017年08月的數(shù)據(jù)(包括8月)
SELECT
? ? *
FROM
? ? `dateTest`?
where ?DATE_FORMAT(date,'%Y%m') BETWEEN '201706' and '201708'
1
2
3
4
5
?
再來,根據(jù)年份之間查詢?
查詢2016年到2018年的數(shù)據(jù)
SELECT
? ? *
FROM
? ? `dateTest`?
where ?DATE_FORMAT(date,'%Y') BETWEEN '2016' and '2018'
##############################################################################################
?
總結(jié)
以上是生活随笔為你收集整理的Mysql根据日期查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第四篇:Mysql查询-多表联合查询-及
- 下一篇: 数据库——高级匹配条件