2011-09-05 2 views
0

: 문자 문자열에서 날짜 및/또는 시간을 변환 할 때이 오류를SQL Server에서 변환 오류가 발생 했습니까? 내 SQL 쿼리에서

변환을 얻고있다

insert into Tbl_EmpMovement_T values (
     '004101', 
     '2011-8-26', 
     CONVERT(datetime,convert(varchar(10),'2011-8-26',120)+' ' + 
     CONVERT(varchar(2),SUBSTRING('8:16',1,2))+':'+ 
     convert(varchar(2),SUBSTRING('8:16',4,2))+':00.000',120), 
     CONVERT(datetime,convert(varchar(10),'2011-8-26',120)+' ' + 
     CONVERT(varchar(2),SUBSTRING('6:02',1,2))+':'+ 
     convert(varchar(2),SUBSTRING('6:02',4,2))+':00.000',120) 
)  

에 실패했습니다.

+0

그리고 질문은 어디에 있습니까? –

답변

0

차라리 이것을 시도합니다 :

  insert into Tbl_EmpMovement_T values (
     '004101', 
     '2011-8-26', 
     CAST ('2011-8-26' + ' ' + 
    ( SUBSTRING('16:02',0, PATINDEX('%:%', '16:02')+1)) + 
    (SUBSTRING('16:02',PATINDEX('%:%', '16:02')+1, 2)) AS datetime), 
     CAST ('2011-8-26' + ' ' + 
    ( SUBSTRING('16:02',0, PATINDEX('%:%', '16:02')+1)) + 
    (SUBSTRING('16:02',PATINDEX('%:%', '16:02')+1, 2)) AS datetime) 
) 

이 방법, 당신은 늘 문제가있을 경우, 단일 및 이중 자리 시간 사이의 시간 부분으로 이동합니다.

+0

다시 말하자면이 모든 부분 문자열이 왜 그런 것입니까?! – niktrs

+0

확실하게 CAST (datetime과 같은 '날짜가 문자열')가 쉬울 수도 있지만 OP가 3 개의 다른 소스에서 날짜, 시간 및 분을 하나의 datetime으로 함께 추가하려고 할 수 있습니다. 나는 또한 귀하의 질문에 대한 답변을 기다리고 있습니다 ... – callisto

+0

Tahnk 당신은 내가 당신 callisto 동의합니다. 지금은 잘 작동하고있다. –

관련 문제