将军事时间插入日期时间列

时间:2013-01-04 13:28:23

标签: sql

我有两列数据,例如

Row_Date    
2013-01-03-00:00:00

Starttime   
130 

我需要的是开始时间并将其放入小时和分钟字段中的date_time列,例如

Datetime
2013-01-03-01:30:00

我现在可以管理的是使用以下命令输入小时(这是我在其他地方找到的)

,CAST(DATEADD(HOUR, StartTime/100, CONVERT(char(12), ROW_DATE, 112))
                                                       AS DATETIME) AS DATE_TOME

我可以理解为什么这不会起作用,因为它将启动时间除以100,只留下小时而不是分钟,但我无法弄清楚如何包括分钟。

我找到的另一个命令却无法开始工作:

,CAST(CAST(row_date AS VARCHAR(8)) + ' ' 
 + STUFF(RIGHT( '000' + CAST(StartTime AS VARCHAR(4)), 4), 3,0, ':') AS DATETIME)

这又在其他地方找到,但我收到以下错误:

  

从字符串转换日期和/或时间时转换失败。

1 个答案:

答案 0 :(得分:2)

CAST(DATEADD(MINUTE, 60 * FLOOR(StartTime/100) + StartTime % 100, CONVERT(char(12), ROW_DATE, 112)) AS DATETIME) AS DATE_TOME