2012-09-01 2 views
-4

SQL 서버 2005에서 VARCHAR로 날짜를 저장했습니다. 2013 년 이전의 모든 날짜를 선택하고 싶습니다.SQL 2005는 VARCHAR로 저장된 날짜를 비교합니다

WDATE 2012년 9월 1일 2012년 8월 13일

내가 다른 날짜에 그 날짜를 비교할 나는이 쿼리를 사용하고 : 후 일 개월

SELECT * FROM Work_Order 
WHERE WDATE < '09/02/2012' 

을하지만 빼기 그 때 나의 경우가 아닌 년

+0

어떤 날짜 형식을 사용하셨습니까? – Guffa

+0

여기서 varchar를 날짜 열로 변환하십시오. <= 1/1/2011 –

+0

사람들이 도움을주기 위해 시도한 코드 또는 변환 식을 게시해야합니다. –

답변

0

당신의 란이 VARCHAR로 정의되는 경우에 당신이 원하는 무슨을 (당신의 언젠가의 앞에 기록 선정) 할 수 없다. 당신은 아마 다음과 같이 그것을 DATETIME 값으로 저장 또는 CAST해야 구문은 단지 추측 그래서

SELECT * 
FROM Work_Order 
WHERE CAST(WDATE as DATETIME) < CAST('09/02/2012' as DATETIME) 

나는, SQL Server 2005를 자신이 없습니다.

+1

구문을 잘 나타내야합니다.이 방법의 문제점은 문화권에 민감하다는 것입니다. 미국에서는 MM/DD/YYYY를 사용하고 DD/MM/YYYY 또는 영국 ... – Lucero

+0

예; 오른쪽은 실제로 상수이어야하며 CAST는 사용하지 말아야하지만 적절한 SQL Server 2005 구문을 알지 못합니다. 자유롭게 답을 편집하십시오! – BellevueBob

+0

덕분에 2008 r2에 저에게 잘 맞았습니다. 2005 년에 시도해 보겠습니다. –

관련 문제