将 timediff() 中的值转换为 mysql 的字符串
Convert value in timediff() into string for mysql
我想查询时间间隔的小时数。比如我从查询中得到结果1:50.
select TIMEDIFF(time_start,time_end) hours from booking_submit
如何将 timediff() 中的值转换为类似“1 小时 50 分钟”的值?
您可以使用日期函数:
select time_format(timediff(time_start,time_end), '%H hours %i minutes') as hours
from booking_submit
这可能会解决您的问题
SELECT CONCAT(
MOD(HOUR(TIMEDIFF(time_start, time_end)), 24), ' Hours ',
MINUTE(TIMEDIFF(time_start, time_end)), ' Minutes '
) time_spent
FROM booking_submit;
只要 time_start 在 time_end 的 24 小时内。否则,无论日期如何,都会为您提供从开始时间到结束时间的时间。
如果你想添加花费的天数,你可以在 CONCAT 函数中添加如下内容:
CONCAT(FLOOR(HOUR(TIMEDIFF(time_start, time_end)) / 24), ' Days ',
希望对你有用。
我想查询时间间隔的小时数。比如我从查询中得到结果1:50.
select TIMEDIFF(time_start,time_end) hours from booking_submit
如何将 timediff() 中的值转换为类似“1 小时 50 分钟”的值?
您可以使用日期函数:
select time_format(timediff(time_start,time_end), '%H hours %i minutes') as hours
from booking_submit
这可能会解决您的问题
SELECT CONCAT(
MOD(HOUR(TIMEDIFF(time_start, time_end)), 24), ' Hours ',
MINUTE(TIMEDIFF(time_start, time_end)), ' Minutes '
) time_spent
FROM booking_submit;
只要 time_start 在 time_end 的 24 小时内。否则,无论日期如何,都会为您提供从开始时间到结束时间的时间。 如果你想添加花费的天数,你可以在 CONCAT 函数中添加如下内容:
CONCAT(FLOOR(HOUR(TIMEDIFF(time_start, time_end)) / 24), ' Days ',
希望对你有用。