> 데이터 베이스 > MySQL 튜토리얼 > SQL Server에서 시간 값을 효율적으로 비교하는 방법은 무엇입니까?

SQL Server에서 시간 값을 효율적으로 비교하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-25 08:27:50
원래의
852명이 탐색했습니다.

How to Efficiently Compare Time Values in SQL Server?

SQL Server에서 시간 비교

SQL 쿼리에서 시간 값을 비교할 때 날짜에서 시간 구성 요소를 분리하는 것이 중요합니다. Convert(datetime, ...)를 문자열 표현으로 사용한 다음 비교하는 접근 방식은 성능이 느리기 때문에 권장되지 않습니다.

더 효율적인 방법은 SQL Server의 고유한 부동 소수점 표현을 활용하는 것입니다. 날짜. 정수 부분은 날짜를 나타내고 소수 부분은 시간을 나타냅니다.

declare @first datetime
set @first = '2009-04-30 19:47:16.123'
declare @second datetime
set @second = '2009-04-10 19:47:16.123'

select (cast(@first as float) - floor(cast(@first as float))) -
       (cast(@second as float) - floor(cast(@second as float)))
       as Difference
로그인 후 복사

이 방법은 날짜의 정수 부분을 빼고 소수(시간) 부분만 남깁니다. 결과 차이는 시간 차이를 나타냅니다.

예를 들어 다음 방법을 사용하여 SQL Server에서 '08:00:00'과 '07:30:00'을 비교합니다.

declare @first datetime
set @first = '08:00:00.000'
declare @second datetime
set @second = '07:30:00.000'

select (cast(@first as float) - floor(cast(@first as float))) -
       (cast(@second as float) - floor(cast(@second as float)))
       as Difference
로그인 후 복사

결과 :

Difference
------------
0.5
로그인 후 복사

'08:00:00'이 '07:30:00'보다 큰 것을 확인합니다. 30분씩.

위 내용은 SQL Server에서 시간 값을 효율적으로 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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