SQL 날짜 필터링

Sql Naljja Pilteoling



날짜 값을 기준으로 데이터를 필터링하는 것은 데이터베이스 작업 시 흔히 발생하는 현상입니다. 예를 들어 특정 기간의 데이터를 가져오고, 특정 날짜를 기준으로 결과를 집계하고, 시간에 따른 추세 패턴을 식별하고, 기타 시간 관련 작업을 수행할 수 있습니다.

따라서 이는 모든 데이터베이스 개발자에게 중요한 기술입니다. SQL은 특정 데이터세트 내에서 날짜를 필터링하는 다양한 도구를 제공합니다.







이 게시물에 참여하여 SQL 세계에서 날짜를 필터링하는 데 사용할 수 있는 다양한 방법과 기술을 살펴보세요.



전제 조건:

실용적인 예제와 응용 프로그램을 살펴보기 전에 이 예제에 필요한 사항을 자세히 살펴보겠습니다.



이번 포스팅에서는 거의 모든 SQL 데이터베이스에 적용할 수 있는 방법을 고수해 보겠습니다. 그러나 데모 목적으로 Sakila 샘플 데이터베이스와 함께 MySQL 버전 8을 사용합니다.





그러나 원하는 데이터 세트를 무료로 다운로드하여 사용할 수 있습니다. 제공된 방법이 다른 데이터베이스에서 작동할 수 있는지 확인하고 대안이 있는 경우 제공할 것입니다.

특정 날짜 필터링

가장 기본적인 날짜 필터링 작업은 특정 날짜에 대한 레코드 또는 여러 레코드를 검색해야 하는 경우입니다.



이러한 경우 WHERE 절 뒤에 날짜 열과 검색하려는 실제 날짜 값을 사용할 수 있습니다.

예를 들어, 2005년 5월 24일에 발생한 임대 기록을 찾으려고 한다고 가정합니다. 다음과 같이 쿼리를 실행할 수 있습니다.

선택하다 *
대여에서
어디에 rental_date = '2005-05-24 23:03:39' ;

이 경우 필터링하려는 날짜를 타임스탬프 값으로 제공합니다. 이는 'rental_date' 열이 값을 타임스탬프로 저장하기 때문입니다.

기간 필터링

두 번째 일반적인 작업은 특정 날짜 범위를 기준으로 데이터를 필터링하는 것입니다. 예를 들어, 2005년 5월부터 2005년 6월 사이에 발생한 임대를 검색한다고 가정해 보겠습니다.

다음과 같이 쿼리를 실행할 수 있습니다.

선택하다
*
에서
임대
어디
Rental_date BETWEEN '2005-04-01 00:00:00' 그리고 '2005-06-01 00:00:00' ;

이 경우 AND 연산자를 사용하여 두 값을 결합합니다. WHERE 절은 'rental_date' 열의 값이 두 범위 사이에 있어야 하는 경우에 사용됩니다.

출력 예는 다음과 같습니다.

날짜 구성 요소 필터링

다른 경우에는 리터럴 값을 사용하여 날짜 범위를 사용하는 대신 값에서 특정 날짜 구성 요소를 추출하고 이를 기반으로 필터링할 수 있습니다.

예를 들어, 2005-04-01 및 2005-06-01에서 지정하는 대신 5월을 추출하고 해당 달 내에 있는 모든 데이터를 필터링할 수 있습니다.

MySQL에서는 다음 예제와 같이 MONTH() 함수와 같은 함수를 사용하여 이를 달성할 수 있습니다.

선택하다
*
에서
임대
어디
( 임대_날짜 ) = 5 ;

이 경우 MONTH(rental_date)는 날짜에서 월 부분을 추출합니다. 그런 다음 이 값을 사용하여 값이 5, 5인 위치를 필터링할 수 있습니다.

결론

이 튜토리얼에서는 날짜 값을 기준으로 데이터를 필터링하는 SQL의 가장 기본적이고 일반적인 작업 중 하나에 대해 배웠습니다. 날짜에서 다양한 구성 요소를 추출하고 이를 사용하여 날짜 등을 필터링하는 방법을 배웠습니다.