在我的表我有DateTime,Hour列。
DateTime
Hour
示例:2012-05-14 00:00:00.000和1230
2012-05-14 00:00:00.000
1230
如何将此hour列添加到我的Datetime列中,这样我就可以
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
但它不起作用。
谢谢你,史蒂夫
据我了解,您想将前两位数字添加为小时,将后两位数字添加为分钟-但您并未在DATEADD通话中执行此操作- 您要将两个部分都添加为HOUR-请尝试以下操作:
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
在这里,我使用了两个嵌套DATEADD-内部DATEADD添加小时,外部添加分钟到添加小时的结果上。
另外:SUBSTRING在SQL Server中是 基于1的 ,例如,字符串的第一个字符位于位置1(您似乎并不假设为0)
SUBSTRING