>데이터 베이스 >MySQL 튜토리얼 >MySQL의 별도 연도, 월, 일 필드에서 날짜 개체를 어떻게 생성할 수 있습니까?

MySQL의 별도 연도, 월, 일 필드에서 날짜 개체를 어떻게 생성할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-04 22:53:44391검색

How Can I Create Date Objects from Separate Year, Month, and Day Fields in MySQL?

MySQL의 서로 다른 날짜 필드에서 날짜 개체 생성

데이터베이스 스키마의 날짜 표현이 개별 일, 월, 및 연도 필드는 SQL의 날짜 조작에 대한 고유한 문제를 제시합니다. 그러나 다음 접근 방식을 사용하면 이러한 개별 필드에서 날짜 객체를 효과적으로 생성할 수 있습니다.

연도, 월, 일을 나타내는 정수 값에서 DATETIME 객체를 생성하려면 MAKEDATE() 및 DATE_ADD( ) 함수입니다.

  1. MAKEDATE(): 이 함수는 연도와 월을 결합합니다(일수는 다음과 같습니다). 1) 지정된 연도의 첫 번째 날을 나타내는 DATETIME 객체를 생성합니다.
  2. DATE_ADD(): 이 함수는 지정된 월과 일 수(또는 기타 지정된 시간 간격)를 추가합니다. 주어진 DATETIME 객체.

이러한 함수를 결합하여 날짜를 구성할 수 있습니다. 점차적으로:

  • 연도의 첫날에 대한 DATETIME 객체를 얻으려면 MAKEDATE()로 시작하세요.
  • DATE_ADD()를 사용하여 월을 더합니다(월을 계산하려면 1을 뺍니다). 1부터 시작하는 정수 표현).
  • 다른 DATE_ADD()를 적용하여 날짜를 더합니다(다시 빼기). 1로 조정).

예:

SELECT DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY);

이 쿼리는 2013년 3월 11일에 대한 DATETIME 개체를 반환합니다.

이제 이 기술을 사용하여 SQL에서 비교할 날짜 범위를 구성할 수 있습니다. 쿼리:

SELECT *
FROM `date`
WHERE DATE_ADD(DATE_ADD(MAKEDATE(year, 1), INTERVAL (month)-1 MONTH), INTERVAL (day)-1 DAY)
BETWEEN '2013-01-01' AND '2014-01-01';

이 쿼리는 날짜 테이블에서 날짜가 2013년 1월 1일부터 2014년 1월 1일 사이인 모든 레코드를 검색합니다.

위 내용은 MySQL의 별도 연도, 월, 일 필드에서 날짜 개체를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.