SQL添加日期时间添加小时添加分钟

时间:2011-11-05 14:20:23

标签: sql sql-server datetime add hour

在我的表格中,我有DateTimeHour列。

示例: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

但它不起作用。

提前谢谢你, 甜菊

1 个答案:

答案 0 :(得分:4)

根据我的理解,您希望将前两位数字添加为小时,将后两位数字添加为分钟 - 但您在DATEADD来电中未执行此操作 - 您将两个部分添加为{{ 1}} - 试试这个:

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 - 内部DATEADD添加小时数,外部添加分钟数添加小时数。

另外:SQL Server中的DATEADD从1开始,例如字符串的第一个字符位于第1位(不是0,正如您所假设的那样)