T-SQL에서 HH:MM 값을 가장 가까운 15분 간격으로 반올림
특정 간격으로 반올림하는 것은 시간 값 작업 시 일반적인 작업입니다. 이 기사에서는 UDF(사용자 정의 함수) 또는 Case 문에 의존하지 않고 HH:MM 값을 가장 가까운 15분 간격으로 반올림하는 우아한 T-SQL 방법을 살펴봅니다.
해결책:
이 기술의 핵심은 datediff()
및 dateadd()
함수를 사용하여 초를 무시하면서 날짜 구성 요소를 조작하는 것입니다. 입력 날짜 시간과 고정 날짜의 차이를 시간 구성 요소 00:00:00으로 계산하여 경과된 분 수를 확인할 수 있습니다.
이 값을 15로 나누어 15분 간격의 수를 구할 수 있습니다. 결과에 15를 곱하고 dateadd()
을 사용하여 고정 날짜에 다시 추가하여 가장 가까운 15분 간격으로 반올림된 시간을 제공합니다.
예시 쿼리:
다음 쿼리 예시를 살펴보세요.
<code class="language-sql">SELECT dateadd(minute, datediff(minute, '2023-01-01', GETDATE()) / 15 * 15, '2023-01-01') AS RoundedTime</code>
GETDATE()
을 원하는 날짜/시간 값으로 바꾸면 다음과 같이 반올림된 HH:MM 값이 반환됩니다.
<code>| 输入时间 | 舍入时间 | |---|---| | 00:08:00 | 00:15:00 | | 00:07:00 | 00:00:00 | | 01:59:00 | 02:00:00 |</code>
참고:
이 접근 방식은 입력 시간 값에 관계없이 일관된 반올림 동작을 보장합니다. 또한 더 큰 날짜 범위를 처리할 때 발생할 수 있는 오버플로 오류를 방지합니다. 캐스트가 필요하지 않지만 시간 구성 요소가 00:00:00인 적절하게 고정된 날짜를 계산 기준으로 사용해야 합니다.
위 내용은 T-SQL에서 HH:MM 시간 값을 가장 가까운 15분으로 반올림하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!