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