>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 지정된 날짜보다 큰 날짜를 올바르게 쿼리하는 방법은 무엇입니까?

SQL Server에서 지정된 날짜보다 큰 날짜를 올바르게 쿼리하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-26 01:24:14750검색

How to Correctly Query for Dates Greater Than a Specified Date in SQL Server?

SQL Server의 날짜 비교: 지정된 것보다 큰 날짜 쿼리

SQL Server에서 쿼리에는 특정 날짜를 필터링하고 검색하기 위해 날짜를 비교하는 경우가 많습니다. 데이터. 특정 날짜보다 큰 날짜를 쿼리하려는 경우 날짜 형식을 올바르게 처리하는 것이 중요합니다.

다음 쿼리를 고려하세요.

SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;

여기서 A.Date는 ' 형식으로 표시됩니다. 2010-03-04 00:00:00.000'. 그러나 이 쿼리는 예상한 결과를 반환하지 않을 수 있습니다.

이 문제의 원인은 2010-04-01이라는 표현의 해석에 있습니다. SQL Server에서는 작은따옴표로 묶이지 않은 날짜 값에 대해 수학적 계산이 수행됩니다. 2010에서 4와 1을 빼면 2005가 되는데 이는 의도한 비교 값이 아닙니다.

이 문제를 해결하려면 Convert 함수를 사용하여 표현식을 날짜/시간 데이터 유형으로 명시적으로 변환해야 합니다. 수정된 쿼리는 다음과 같습니다.

select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )

이제 쿼리는 날짜를 올바르게 비교하고 A.Date 값이 '2010-04-01'보다 크거나 같은 레코드를 반환합니다.

위 내용은 SQL Server에서 지정된 날짜보다 큰 날짜를 올바르게 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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