MYSQL根據日期查詢

2021-09-26 09:23:14 字數 2849 閱讀 3012

「風蕭蕭兮易水寒,壯士一去兮不復還」

總結一下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()函式

首先,根據日期來查資料:

比如現在要查詢2023年8月9號的記錄

select

*from

`datetest`

where date_format(date,'%y%m%d') = '20170809'

查詢結果 

根據月份查資料:

查詢2023年6月份的資料

select

*from

`datetest`

where date_format(date,'%y%m') = '201706'

查詢結果 

根據年份查詢

查詢2023年的資料

select

*from

`datetest`

where date_format(date,'%y') = '2017'

查詢結果 

上面所展示的是根據具體日期查詢, 

接下來在日期區間查詢資料

查詢,2023年06月01號到2023年06月25號的資料

select

*from

`datetest`

where date_format(date,'%y%m%d') between '20170601' and '20170625'

查詢結果 

根據月份區間查詢

查詢2023年06月到2023年08月的資料(包括8月)

再來,根據年份之間查詢查詢2023年到2023年的資料

select

*from

`datetest`

where date_format(date,'%y') between '2016' and '2018'

查詢結果 

顯示推薦內容

參考位址 

MySQL根據日期查詢

1 查詢當天的資料 select from 表名 where to days 時間字段 to days now 2 查詢當周的資料 select from 表名 where yearweek date format 時間字段,y m d yearweek now 3 查詢當月的資料 select f...

mybatis根據日期查詢 查詢日期並返回

1.查詢日期,返回日期字串 查詢所有部落格對應的年份,返回乙個集合 list string findgroupyear 2.根據日期查詢 根據年份查詢部落格資訊 list blog findbyyear param year string year findgroupyear resulttype ...

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...