在数据库中,时间以字符串格式表示,如5.5(小时)如何转换为5:30分钟
我试过
select CAST('5.50' AS DATETIME)
select STR_TO_DATE('5.50', '%h:%i %p') ;
但这不起作用。
谢谢
答案 0 :(得分:1)
您可以将5.5小时间隔添加到时间00:00:00,以获得05:30:00的时间。
然而:
select time '00:00:00' + interval '5.5' hour
不起作用。由于某种原因,MySQL将5.5截断为5。所以使用
select time '00:00:00' + interval '5.5' * 60 * 60 second
代替。
更新:刚看了一眼。 interval 5.5 hour
无效的 <cfscript>
record=deserializeJSON(query_testing.data_test);
writeDump(record);
</cfscript>
在2007年作为错误归档:https://bugs.mysql.com/bug.php?id=31013。
答案 1 :(得分:1)
我不知道这样做的方法很简陋,但这是一种愚蠢的方式。
select SEC_TO_TIME(5.5 * 3600)
我将5.5转换为秒,然后从几秒钟转换为秒。
希望这有帮助
答案 2 :(得分:0)
要以格式hh:mm:ss
获取时间,您可以使用此查询。
SELECT SUBTIME(TIME(DATE_ADD(FROM_UNIXTIME(UNIX_TIMESTAMP(0),'%Y-%m-%d %H:%i:%s'), INTERVAL 5.5*60 MINUTE)), TIME(UNIX_TIMESTAMP(0)));
上查看
修改强>
如果您想要seconds
准确度,请更改此类查询。
SELECT SUBTIME(TIME(DATE_ADD(FROM_UNIXTIME(UNIX_TIMESTAMP(0),'%Y-%m-%d %H:%i:%s'), INTERVAL 5.501*3600 SECOND)), TIME(UNIX_TIMESTAMP(0)));