Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 날짜 필드와 일과 월만 비교하시겠습니까?

<시간/>

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초)