gpt4 book ai didi

mysql - 计算数据类型 TIME 的十进制数

转载 作者:行者123 更新时间:2023-11-29 16:06:52 25 4
gpt4 key购买 nike

我现在正在开展一个学校项目,该项目要求我使用数据库中的 SQL 生成一些表。我们有 15 个问题,目标是回答所有问题并显示您用于生成结果的查询。

我们现在回答的问题是:阿姆斯特丹和纽约之间的航类的抵达时间是多少,该航类的日期是2018年4月15日。

我们正在使用我使用从作业中获得的一些信息构建的 ERD。

这就是我们的想法。这里有一个小错误,那就是 IATA_Code 不是整数而是 varchar(抱歉,有些名称是荷兰语)。

enter image description here

现在的问题是,当我尝试向 vertrektijd 添加某些内容(这意味着开始时间)时,它不起作用。我得到一个像 6,2 小时这样的数字,需要将其转换为小时、分钟、秒,然后添加到开始时间。无论我尝试什么,它都不起作用

我尝试过使用诸如 date_adddateadd 等函数。但我似乎未能将 6,25 小时转换为实际时间,这使得整个事情失败

select distinct(DATEADD(hour, sector.Afstand/vliegtuig.Snelheid, vlucht.vertrektijd) AS DateAdd)
from sector, vlucht, vliegtuig
where vlucht.datum = '2018-04-15'
and vlucht.VluchtNr = '2513'
and sector.afstand IN (SELECT sum(sector.afstand) AS totale_afstand
FROM vlucht, routesector,sector
where routesector.Vlucht_VluchtNr = vlucht.VluchtNr
AND routesector.Sector_SectorNr = sector.SectorNr
and vlucht.datum = '2018-04-15'
AND vlucht.VluchtNr = '2513'
group by routesector.Vlucht_VluchtNr
order by totale_afstand);

所以我想要做的是将sector.afstand/vliegtuig.snelheid在几小时内的结果添加到vlucht.vertrektijd

但无论我尝试什么,我似乎都无法让它发挥作用。我以前从未使用过 StackOverflow,因为我喜欢自己解决问题,但现在我不知道该怎么办。

对于能够理解这一切的令人惊奇的人,您介意向我解释一下我做错了什么,以便我可以解决它并继续下一个作业吗?

感谢您的关注:)

最佳答案

如果您知道航类的持续时间以小时为单位(可以是小数),则可以通过乘以 60 将其转换为分钟,然后使用 dateadd:

declare @t datetime
set @t='1/1/2019 3:15'
set @t=dateadd(MI, 6.25*60, @t)
print @t

Jan 1 2019 9:30AM

关于mysql - 计算数据类型 TIME 的十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55658144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com