2013-06-17 5 views
-1

나는 Clmn_DobNVARCHAR 열입니다SQL Server 2005에서 연도를 사용하여 나이를 찾을 수 없습니까?

SELECT DATEDIFF(year,Clmn_Dob,getdate()) AS DiffDate 
FROM tblABCD 

을 다음과 같은 쿼리를 쓰고 있어요. 나는 생년월일을 기준으로 나이를 찾고 싶다. 그러나이 대신에 나는 오류를 데이터 형식 날짜

내 문자열 형식이 dd/MM/yyyy하고 getdate() 형식 MM/dd/yyyy되는 표현을 변환

산술 오버플로 오류가 발생하고있다.

내가

+0

[나쁜 습관을 걷어차 :

SELECT DATEDIFF(year,CONVERT(datetime, Clmn_Dob, 103),getdate()), FROM tblABCD 

여기에 문서를 잘못 처리 날짜/범위 쿼리 ] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/16/bad-habits-to-kick-mishandling-date-range-queries.aspx) - ** 저장하지 ** ** 날짜 문자열로 - 당신은 그런 식으로 문제를 묻는 것입니다. 'DATETIME' 데이터 형을 사용하십시오! 그러면 열에 날짜 함수를 사용할 수 있습니다. –

+0

나는 실제로 datetime 데이터 형식을 사용하고 있습니다. 그러나이 경우 나는 이것을 좋아합니다. – Anjali

답변