2012-12-14 3 views
1

char 데이터 형식을 datetime 데이터 형식으로 변환하면 다음과 같은 오류가 발생합니다. 범위를 벗어난 datetime 값 계정 (DocumentNo, ACCNO, DUEDATE [개요], DC, 양 Amount1, AMOUNT2, DateCreated, DateModified [종류]) VALUES (40, 6,000,012, '14/2,012분의 12 12 INTOchar 데이터 형식을 datetime 데이터 형식으로 변환하면 범위를 벗어난 datetime 값이 발생 함

INSERT : 00 : 00 AM ', N' ', N'C', 365.70, 551292.750000000, 365.700000000, '14/12/2012 오전 12:00:00 ', '14/12/2012 오전 12:00:00 ', N'PI')

정확히 어떤 오류인지 알 수 없습니다.

어떻게 해결할 수 있습니까?

미리 감사드립니다.

답변

2

'14/12/2012 '는 대부분의 서버에서 14 번째 월의 12 번째 날입니다. 올바른 형식 지정을 사용하여 날짜를 나타내거나 더 나은 (그러나 응용 프로그램 코드에서만) : 호출 코드에서 날짜의 자연스러운 표현을 사용하여 매개 변수로 전달하십시오 (그러면 문자열이 없습니다). 표현, 그래서 모호하지 않습니다). 당신은 모호한 날짜 형식을 사용하고

'14 Dec 2012 12:00:00 AM' 
0

및 국가 별 설정에 대한 기본값은 그렇지 않은 것을 의미 : 뭔가처럼

서버와 인간의 독자 모두가 매우 모호 만드는 또 다른 방법은 그것을 받아 들인다. 시도 : 시간 구성 요소가 모두 자정 것을 주어 물론

INSERT INTO ACCount (DocumentNo, AccNo, DueDate, [Description], DC, Amount, 
     Amount1, Amount2, DateCreated, DateModified, [Type]) 
VALUES (40, 6000012, '2012-12-14T12:00:00 AM', N'', N'C', 365.70, 551292.750000000, 
     365.700000000, '2012-12-14T12:00:00 AM', '2012-12-14T12:00:00 AM', N'PI') 

, 그냥

(명확한 날짜 전용 형식입니다) 20121214를 사용하는 것이 좋습니다
관련 문제