2011-11-05 506 views
4

在我的表中,我有DateTime,Hour列。SQL添加日期時間添加小時添加分鐘

例如:2012-05-14 00:00:00.0001230

我如何添加這個hour列到我的Datetime列,這樣我就可以有

2012-05-14 12:30:00.000 

我試着用這樣的:

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 

但不起作用。

感謝你在前進, 甜菊

回答

4

據我瞭解,你要添加的前兩位爲小時,後兩個爲分鐘 - 但你不能在你的DATEADD通話這樣做 - 你我使用兩個嵌套DATEADD

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 

這裏 - 內DATEADD添加小時,外添加到分鐘加入小時的結果是: - 「再加入兩個部分作爲HOUR嘗試此來代替。

另外:SUBSTRING在SQL Server中是基於1的,例如,字符串的第一個字符是在位置1(不是0,因爲你似乎假設)

+0

謝謝你....這正是我想要的。 – user609511