> 데이터 베이스 > MySQL 튜토리얼 > T-SQL에서 HH:MM 시간 값을 가장 가까운 15분으로 반올림하는 방법은 무엇입니까?

T-SQL에서 HH:MM 시간 값을 가장 가까운 15분으로 반올림하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-10 14:09:41
원래의
721명이 탐색했습니다.

How to Round HH:MM Time Values to the Nearest 15 Minutes in T-SQL?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿