我有两列数据,例如
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)
这又在其他地方找到,但我收到以下错误:
从字符串转换日期和/或时间时转换失败。
答案 0 :(得分:2)
CAST(DATEADD(MINUTE, 60 * FLOOR(StartTime/100) + StartTime % 100, CONVERT(char(12), ROW_DATE, 112)) AS DATETIME) AS DATE_TOME