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

T-SQL DateTime 값을 가장 가까운 분 또는 시간으로 반올림하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-11 10:09:42879검색

How to Round T-SQL DateTime Values to the Nearest Minute or Hour?

분 또는 시간까지 정확한 T-SQL 날짜/시간 값 반올림 방법

SQL Server에는 날짜/시간 값을 가장 가까운 분 또는 시간으로 쉽게 반올림하는 기능이 내장되어 있습니다. 예를 들어, 주어진 날짜 시간 값 '2007-09-22 15:07:38.850'에 대해 다음 함수를 사용할 수 있습니다.

<code class="language-sql">-- 舍入到最近的分钟
SELECT DATEADD(mi, DATEDIFF(mi, 0, @dt), 0)

-- 舍入到最近的小时
SELECT DATEADD(hour, DATEDIFF(hour, 0, @dt), 0)</code>

이 방법은 원하는 반올림 효과를 얻기 위해 각각 초와 분을 자릅니다. 반올림하거나 내림해야 하는 경우 자르기 전에 각각 30분 또는 30분을 더하거나 뺄 수 있습니다.

<code class="language-sql">-- 舍入到最近的分钟(向上)
SELECT DATEADD(mi, DATEDIFF(mi, 0, DATEADD(s, 30, @dt)), 0)

-- 舍入到最近的小时(向上)
SELECT DATEADD(hour, DATEDIFF(hour, 0, DATEADD(mi, 30, @dt)), 0)</code>

SQL Server 2008에 date 데이터 유형이 도입되기 전에는 위 방법을 사용하여 datetime 유형에서 시간 부분을 잘라내고 날짜 부분만 남길 수 있었습니다. 이는 날짜/시간과 고정 시점(0, 1900-01-01 00:00:00.000을 나타냄) 사이의 일 수를 계산한 다음 해당 숫자를 고정 시점에 추가하는 방식으로 작동합니다.

<code class="language-sql">-- 截断时间部分以仅获取日期
SELECT DATEADD(day, DATEDIFF(day, 0, @dt), 0)</code>

위 내용은 T-SQL DateTime 값을 가장 가까운 분 또는 시간으로 반올림하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.