집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server의 DateTime 값에서 날짜 부분을 효율적으로 추출하려면 어떻게 해야 합니까?
SQL Server 날짜/시간 값에서 날짜 추출
대부분의 SQL 애플리케이션은 날짜 및 시간 구성요소가 포함된 데이터를 처리합니다. 그러나 어떤 경우에는 날짜 부분만 추출하고 시간 정보를 삭제하면 됩니다. 이는 SQL Server의 다양한 기술을 통해 효과적으로 달성할 수 있습니다.
가장 효율적인 방법
여러 가지 방법이 있지만 SQL Server의 날짜/시간에서 날짜를 추출하는 가장 효율적인 방법은 DATEADD() 함수와 DATEDIFF() 함수를 조합하여 사용하는 것입니다. 이 방법에는 다음 단계가 포함됩니다.
예:
<code class="language-sql">SELECT DATEADD(DAY, DATEDIFF(DAY, 0, '2008-09-25 12:34:56'), 0)</code>
CAST(FLOOR(CAST(... AS FLOAT)) AS DATETIME) 또는 CONVERT(DATETIME, CONVERT(VARCHAR(10), ..., 120), 120) 을 사용하여 변환하는 등의 다른 옵션과 비교하면, 방법이 가장 빠르고 효율적인 방법임이 입증되었습니다.
벤치마크
밀리초 단위의 정확한 타임스탬프와 함께 1억 3천만 개 이상의 레코드 행이 포함된 데이터 세트에 대한 성능 테스트 결과는 다음과 같습니다.
方法 | CPU时间(ms) |
---|---|
纯SELECT | 422 |
Floor-Cast | 625 |
字符串转换 | 1953 |
DateAdd | 531 |
성능은 데이터의 크기, 분포, 기타 요인에 따라 달라질 수 있다는 점에 유의할 필요가 있습니다.
위 내용은 SQL Server의 DateTime 값에서 날짜 부분을 효율적으로 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!