0

例如,我有两列数据

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)

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

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

4

1 回答 1

2
CAST(DATEADD(MINUTE, 60 * FLOOR(StartTime/100) + StartTime % 100, CONVERT(char(12), ROW_DATE, 112)) AS DATETIME) AS DATE_TOME
于 2013-01-04T13:37:22.327 回答