T-SQL에서 HH:MM 시간 값을 가장 가까운 15분 간격으로 반올림
데이터 분석에서는 시간 값을 지정된 간격에 가장 가까운 값으로 반올림하는 것이 일반적인 작업입니다. 이 예에서 우리의 목표는 HH:MM 값을 가장 가까운 15분 간격으로 반올림하는 것입니다.
사용자 정의 함수가 필요하지 않은 메서드
사용자 정의 함수(UDF) 또는 CASE 문을 사용하는 것이 실행 가능한 접근 방식이지만 이를 사용하지 않는 더 우아한 방법이 있습니다. 한 가지 방법은 DATEADD 및 DATEDIFF 함수를 활용하는 것입니다.
<code class="language-sql">select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)</code>
여기서 GETDATE()는 현재 날짜와 시간 값을 나타냅니다. DATEDIFF 함수는 현재 시간과 고정 참조 날짜 0 사이의 차이를 분 단위로 계산합니다. 그런 다음 이 차이를 15로 나누고 15를 곱하여 가장 가까운 15분 간격을 얻었습니다. 마지막으로 DATEADD 함수는 이 간격을 참조 날짜에 추가하여 반올림된 시간 값을 얻습니다.
메모
이 방법은 분만 관련되고 초는 무시할 수 있는 경우에 적합합니다. 잠재적인 오버플로 문제로 인해 최대 5500년까지 날짜를 처리할 수 있습니다. 그러나 특정 날짜(예: "2009-01-01") 또는 오늘 날짜를 참조 지점으로 사용하면 이 제한 사항을 해결할 수 있습니다.
예
예를 들어 위 방법을 사용하여 '00:08:00'과 같은 타임스탬프를 가장 가까운 15분 간격으로 반올림하면 '00:15:00'이 됩니다. 마찬가지로 "00:07:00"은 "00:00:00"으로 반올림됩니다.
위 내용은 T-SQL에서 HH:MM 시간 값을 가장 가까운 15분 간격으로 반올림하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!