집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!