sql语句查询指定月份数据

要求:查询出emp表中1981年2月份入职的员工

 

emp表

image.png

常用的两种方式:

1.YEAR查询年,MONTH查询月

SELECT
    *
FROM
    emp
WHERE
    YEAR(HIREDATE)='1981' AND MONTH(HIREDATE)='2'

 

2.date_format (使用更多)

SELECT 
    *
FROM
    emp
WHERE
    DATE_FORMAT(hiredate,'%Y-%m') = '1981-02'

第二种方式,需要注意的是日期格式一定要正确

例如:

DATE_FORMAT(hiredate,'%Y-%m') = '1981-2'

是无法查询到数据的,因为 %m 对应的月份格式就是: 01,02,03...12.

如果换成

DATE_FORMAT(hiredate,'%Y-%c') = '1981-2'

就能查询到数据。

 

** MySQL 日期格式

%Y     ​代表四位年份    ​%y    ​代表两位年份

%m    ​代表月格式(01,02,03...12)    ​%c    ​代表月格式(1,2,3...12)

%d    ​代表日

%H    ​代表24小时制    ​%h    ​代表12小时制

%i    ​代表分钟(00,-01,02...59)

%S或%s    ​代表秒(00,01,02...59)

 

posted @ 2020-02-18 20:39  子ぐ非鱼  阅读(16828)  评论(0编辑  收藏  举报