gpt4 book ai didi

sql - Firebird 将整数转换为时间或日期

转载 作者:行者123 更新时间:2023-12-04 20:47:49 25 4
gpt4 key购买 nike

我有一个表,将秒数存储为整数。
我想显示它并将其用作时间或日期。

如果我这样写:

Select Cast(ColAmountofSeconds as Time) as ThisTime From MyTable;

与:
Select Cast(ColAmountofSeconds as Date) as ThisTime From MyTable;

我收到以下错误:

Overflow occurred during data type conversion. conversion error from string "14".



注意“14”是 ColAmountofSeconds 列中第一行的值。

这在 SQL Server 中是如此自然,以至于我无法相信我花了这么多时间来解决这个问题。

编辑

我不敢相信这是答案:
Update MyTable
Set TIMESPENT = time '00:00:00' + ColAmountOfSeconds;

最佳答案

火鸟cast function不支持将数值转换为日期、时间或时间戳。

您可以利用 Firebird 支持日期和数值之间的算术这一事实,因此您可以像这样编写查询:

select dateadd(second, ColAmountOfSeconds, cast('00:00:00' as time))
from myTable;

--or the equivalent:

select cast(cast('2013-01-01' as timestamp) + cast(ColAmountofSeconds as double precision) / 86400 as TIME)
from myTable;

关于sql - Firebird 将整数转换为时间或日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14554471/

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