当前位置:  开发笔记 > 编程语言 > 正文

将24小时格式化时间转换为十进制数

如何解决《将24小时格式化时间转换为十进制数》经验,为你挑选了1个好方法。

我想显示17.5而不是17:30:00.怎么做到这一点?我搜索过但没有找到.

我想在我的查询中这样做:

SELECT o.*, u.* ,p.* ,
        SEC_TO_TIME(SUM(TIME_TO_SEC(DATE_FORMAT(STR_TO_DATE(dateto, '%m/%d/%y %H:%i:%s'), '%Y-%m-%d %H:%i:%s')) - TIME_TO_SEC(DATE_FORMAT(STR_TO_DATE(datefrom, '%m/%d/%y %H:%i:%s'), '%Y-%m-%d %H:%i:%s')))) AS totalHrs,

        number_format((select SEC_TO_TIME(SUM(TIME_TO_SEC(DATE_FORMAT(STR_TO_DATE(dateto, '%m/%d/%y %H:%i:%s'), '%Y-%m-%d %H:%i:%s')) - TIME_TO_SEC(DATE_FORMAT(STR_TO_DATE(datefrom, '%m/%d/%y %H:%i:%s'), '%Y-%m-%d %H:%i:%s')))) FROM overtime WHERE approve_by=0)) AS grandTotal

        FROM overtime AS o, users AS u, position AS p
        WHERE o.user_id=u.user_id and u.p_id=p.p_id and o.approve_by=0
        GROUP BY p.p_id
        ORDER BY p.position_name ASC

Gordon Linof.. 7

如果你有时间价值,那么这样的话:

select time_to_sec(timeval) / (60 * 60)

如果你想要1个小数,那么转换为小数:

select cast(time_to_sec(timeval) / (60 * 60) as decimal(10, 1))

这并不是很明显这是如何适合您的查询,这似乎是一个非顺从.



1> Gordon Linof..:

如果你有时间价值,那么这样的话:

select time_to_sec(timeval) / (60 * 60)

如果你想要1个小数,那么转换为小数:

select cast(time_to_sec(timeval) / (60 * 60) as decimal(10, 1))

这并不是很明显这是如何适合您的查询,这似乎是一个非顺从.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有