2011-11-05 2 views
4

내 테이블에는 DateTime, Hour 열이 있습니다.SQL add Datetime add hour add 분

예 :

SELECT DATE_DEBUT, HEURE_DEBUT, 
    DATEADD(hour, CONVERT(int, SUBSTRING(HEURE_DEBUT, 0, 2)), DATE_DEBUT) AS DateTemp, 
    DATEADD(hour, CONVERT(int, SUBSTRING(HEURE_DEBUT, 2, 2)), DateTemp) AS DateComplete 
FROM ESPTEMPS_PROGRAMMATION 

하지만 : 내 Datetime 열에이 hour 열을 추가 할 수 있습니다, 그래서이 가질 수있는 방법 2012-05-14 00:00:00.0001230

2012-05-14 12:30:00.000 

나는이 함께 노력 작동하지 않습니다. 사전에

감사를, Stev 내가 이해에서

답변

4

, 당신은 시간과 처음 두 자리, 분으로 두 번째 두를 추가 할 -하지만 당신은 DATEADD 통화에서이 일을하지 않는 - 당신 HOUR 같은 두 부분을 추가 다시 '- 대신 시도 : 여기

SELECT DATE_DEBUT, HEURE_DEBUT, 
    DATEADD(MINUTE, CONVERT(int, SUBSTRING(HEURE_DEBUT, 3, 2)), 
       DATEADD(HOUR, CONVERT(int, SUBSTRING(HEURE_DEBUT, 1, 2)), DATE_DEBUT)) 
FROM ESPTEMPS_PROGRAMMATION 

를 I는 두 개의 중첩 DATEADD 사용하고 - 내부 DATEADD은 시간을 추가 외부의 시간을 가산 한 결과에 분을 추가한다.

또한 SUBSTRING입니다. 문자열의 첫 번째 문자는 위치 1에 있습니다 (가정하지 않으므로 0이 아님)

+0

감사합니다 .... 나는 그것이 내가 원하는 것입니다. – user609511