집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 매월 첫날을 효율적으로 선택하려면 어떻게 해야 합니까?
월의 첫날을 찾기 위한 간소화된 SQL 접근 방식
SQL에서 날짜 작업을 하려면 해당 월의 1일을 추출해야 하는 경우가 많습니다. 여러 가지 방법이 있지만 이 향상된 기술은 우아함과 효율성을 모두 제공합니다.
최적화된 SQL 쿼리
다음 쿼리는 DATEADD
및 DATEDIFF
함수를 활용하여 해당 월의 첫째 날을 정확히 찾아냅니다.
<code class="language-sql">SELECT DATEADD(month, DATEDIFF(month, 0, @mydate), 0) AS FirstDayOfMonth</code>
자세한 설명
DATEDIFF(month, 0, @mydate)
: 신기원(보통 1900년 1월 1일)과 입력 날짜(@mydate
) 사이의 개월 수를 계산합니다. 이는 효과적으로 epoch로부터 월 오프셋을 제공합니다.DATEADD(month, <month offset="">, 0)
: 계산된 월 오프셋을 에포크(1900년 1월 1일)에 추가합니다. 결과는 @mydate
에 해당하는 달의 첫날입니다.주요 혜택
DATEADD
은 일반적으로 고도로 최적화되어 있어 더 복잡한 맞춤형 솔루션에 비해 실행 속도가 빠릅니다.실제예
@mydate
이 '2023-04-15'인 경우 쿼리는 '2023-04-01'을 반환하여 2023년 4월 1일을 올바르게 식별합니다.
위 내용은 SQL에서 매월 첫날을 효율적으로 선택하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!