DATE_FORMAT()을 사용하여 MySQL의 날짜 필드와 일과 월만 비교할 수 있습니다.
구문은 다음과 같습니다.
select *from yourTableNameWHERE DATE_FORMAT(yourColumnName, '%m-%d') =DATE_FORMAT('yourValue', '%m-%d') 및 yourCondition;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table compareDayAndMonthDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> compareDayAndTime 날짜 -> );쿼리 OK, 영향을 받는 행 0개(0.49초)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오.
쿼리는 다음과 같습니다
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2014-01-31');쿼리 OK, 1행 영향(0.20초)mysql> compareDayAndMonthDemo(compareDayAndTime) values('2014-10-11')에 삽입;쿼리 OK, 1행 영향(0.16초)mysql> compareDayAndMonthDemo(compareDayAndTime) values('2016-09-12')에 삽입;쿼리 OK, 1행 영향(0.08초)mysql> compareDayAndMonthDemo(compareDayAndTime) 값에 삽입( '2017-04-25');쿼리 OK, 1행 영향(0.08초)mysql> compareDayAndMonthDemo(compareDayAndTime) values('2018-12-25')에 삽입 insert into compareDayAndMonthDemo(compareDayAndTime) values('2019-02-27');쿼리 OK, 영향을 받는 행 1개(0.07초)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다.
쿼리는 다음과 같습니다
mysql> 선택 *from compareDayAndMonthDemo;
다음은 출력입니다.
+----+-------------------+| 아이디 | 비교일 및 시간 |+----+-------------------+| 1 | 2014-01-31 || 2 | 2014-10-11 || 3 | 2016-09-12 || 4 | 2017-04-25 || 5 | 2018-12-25 || 6 | 2019-02-27 |+----+-------------------+6행 세트(0.00초)
다음은 일과 월만 비교하는 쿼리입니다.
mysql> select *from compareDayAndMonthDemo-> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') =DATE_FORMAT('2019-01-31', '%m-%d') 및 Id=1;사전>다음은 출력입니다.
+----+-------------------+| 아이디 | 비교일 및 시간 |+----+-------------------+| 1 | 2014-01-31 |+----+-------------------+1행 세트(0.00초)요일과 월만 원하면 아래 쿼리를 사용하십시오.
mysql> select DATE_FORMAT(compareDayAndTime, '%m-%d') AS DayAndMonthOnly from compareDayAndMonthDemo-> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') =DATE_FORMAT('2019-01-31', '% m-%d') 및 ID=1;다음은 출력입니다.
+-----------------+| DayAndMonth만 |+-----------------+| 01-31 |+-----------------+1 행 세트(0.00초)