如何在 SQL 中将 bigint 转换为小时和分钟?

How can I convert bigint to hours and minutes in SQL?

我遇到以下问题:我有一个包含 BIGINT 列的数据库,我正在尝试将其转换为一小时,所以我的数据库看起来像这样

id minutes hours and minutes 
------------------------------
1   400       null
2   450       null
3   421       null
4   140       null

我需要将保存为 bigint 的分钟转换为小时和分钟;我怎样才能最好地做到这一点?

我需要这个结果

 id minutes hours and minutes 
 ----------------------------
    1   400       06:40
    2   450       07:30
    3   421       null
    4   140       null

我是新手,我在谷歌上搜索过,但我找不到我的问题的答案,有人可以帮助我或给我一个 link - 我该怎么做?谢谢

您可以使用算术计算小时和分钟:

select floor(minutes_col / 60) as hours,
       minutes_col % 60 as minutes

一些数据库使用 mod() 作为取模函数。

转换为字符串高度依赖于数据库。

SQL有专门用来节省时间的数据类型:time(n) (n可以在0-7之间) Check here for more info about this datatype

您的第三列应该是这种类型。 然后,您可以根据分钟列值计算小时和分钟,如下所示:

小时 = totalminuts/60 分钟 = totalminutes%60。 然后在第三列中保存 'Hour:minutes'。

希望对您有所帮助。