2013-06-10 7 views
1

나는 26062012 형식입니다. 내가 SQL 서버에 datetime이 형식을 변환하고자 2008 년문자열을 datetime으로 변환 SQLServer2008

내 코드는 다음과 같습니다

else if (str.equalsIgnoreCase("DATETIME")){ 
    sb.append("CONVERT(Datetime,'").append(strCell).append("',102)").append(','); 
} 

오류는 다음과 같습니다

com.microsoft.sqlserver.jdbc.SQLServerException: The conversion of a 
    varchar data type to a datetime data type resulted in an out-of-range value. 
+0

가장 먼저해야 할 일 : 문자열 연결을 사용하여 SQL 쿼리를 작성하고 준비된 문을 사용하지 마십시오. Java에서이 작업을 수행 할 수있는 라이브러리가 많으므로이를 사용하지 않을 이유가 없습니다. – fge

답변

0

귀하의 날짜 문자열이 하루 사이 seperators로 점 누락 월 또는 월 및 연도 repectivly.

형식은 2012.06.26입니다.

는 구문 분석 한으로 포맷을 취득하기 위해, 나는 좋을 것

String changedDate = yourDate.SubString(0,2)+"."+yourDate.SubString(2,4)+"."+yourDate.SubString(4,8) 

에 문자열을 변경하고 104 형식을 사용합니다.

또한 fge가 말한대로 API를 사용하여 검색어를 작성하십시오.

편집 더 자주와 multipe 응용 프로그램에서 같은 형식을 변환해야하는 경우, 당신은 또한 so 같은 데이터베이스에 저장 프로 시저 또는 함수를 구축 할 수 있습니다.

관련 문제