Time 从一天中的DB2秒到可读时间

Time 从一天中的DB2秒到可读时间,time,db2,Time,Db2,我正在读取一个整数字段(存储打开时间),它以秒为单位,并将其转换为人们实际上能够读取的内容 例如: 32400秒=上午9点(32400/3600=9) 如果每家商店都准时营业,这是可以的,但现在有些商店在半小时营业 范例 9:30返回为9(34200/3600=9),这是不好的。我也不想34200变成9.5 理想情况下,我希望32400返回为900,34200返回为930,46800返回为1300。输入和输出参数都需要是整数(我不能更改列类型) 在DB2中有什么简单的方法可以做到这一点吗?谢谢我

我正在读取一个整数字段(存储打开时间),它以秒为单位,并将其转换为人们实际上能够读取的内容

例如: 32400秒=上午9点(32400/3600=9)

如果每家商店都准时营业,这是可以的,但现在有些商店在半小时营业

范例 9:30返回为9(34200/3600=9),这是不好的。我也不想34200变成9.5

理想情况下,我希望32400返回为900,34200返回为930,46800返回为1300。输入和输出参数都需要是整数(我不能更改列类型)


在DB2中有什么简单的方法可以做到这一点吗?谢谢

我假设您当前的数据显示的是秒,而不是最初所说的毫秒

以下内容将获得DB2中有效的
time
数据类型:

SELECT CAST('00:00:00' as TIME) + (34200/3600) HOURS + MOD(34200/60, 60) MINUTES
FROM sysibm/sysdummy1  

在此之后,在显示代码中可以轻松地处理转换为可读性更好的格式

我假设您当前的数据显示的是秒,而不是最初所说的毫秒

以下内容将获得DB2中有效的
time
数据类型:

SELECT CAST('00:00:00' as TIME) + (34200/3600) HOURS + MOD(34200/60, 60) MINUTES
FROM sysibm/sysdummy1  
在此之后,在显示代码中可以轻松地处理转换为可读性更好的格式

这非常简单(如果您在Linux、UNIX或Windows上使用DB2):

对于34200的输入,这将返回所需的整数
930
,对于46800的输入,这将返回所需的整数
1300

这非常简单(如果您在Linux、UNIX或Windows上使用DB2):


对于34200的输入,这将返回所需的整数
930
,对于46800的输入,这将返回所需的整数
1300

+1表示在
秒内笔直前进。我觉得自己像个白痴,忘记了这一点(考虑到我所说的话)。我只是想对你的答案做一个评论,但OP希望结果是整数而不是时间。+1表示在
内直接进行。我觉得自己像个白痴,忘记了这一点(考虑到我所说的话)。我只是想对你的答案发表评论,但OP希望结果是整数,而不是时间。