将日期和整数时间转换为日期时间

时间:2019-12-10 12:32:20

标签: sql sql-server

我有MyDate列作为日期,TimeStart列为整数。 我如何将下面的图像转换为SQL中的日期时间,如2019-11-01 00:06

enter image description here

2 个答案:

答案 0 :(得分:1)

如果需要时间,请在值上加上分钟:

select convert(time, dateadd(minute, (timecol / 100) + timecol % 60, 0))

当然,您可以将其添加到mydate列:

select dateadd(minute, (timecol / 100) + timecol % 60, mydate)

答案 1 :(得分:1)

您尚未告诉我们您正在使用哪个DBMS。在标准SQL中,您需要添加n分钟:

yarn create react-app my-app

(至少这是我阅读标准语法的方式,其中间隔字面量定义为

<some_date> + <number_of_minutes> * interval '1' minute

在您的情况下:

<interval literal> ::= INTERVAL [ <sign> ] <interval string> <interval qualifier>

某些DBMS可能允许您使用列代替“间隔字符串”:

select mydate + timestart * interval '1' minute from mytable;

更新:供SQL Server使用

select mydate + interval timestart minute from mytable;

另一项更新:我刚刚看到timestart 145表示1小时45分钟。这是存储日期时间信息的最坏方法。然后,您要进行另一次计算:

select dateadd(minute, timestart, mydate) from mytable;

但是您真正应该做的是修复数据模型,并将日期和混淆时间设为datetime列。 (嗯,也许这正是您刚才正在做的事情:-)

相关问题