Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将timediff()中的值转换为mysql的字符串_Mysql_Sql_String_Datetime_Time - Fatal编程技术网

将timediff()中的值转换为mysql的字符串

将timediff()中的值转换为mysql的字符串,mysql,sql,string,datetime,time,Mysql,Sql,String,Datetime,Time,我有一个查询要在两次之间获取小时。例如,我从查询中得到的结果是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 您可以

我有一个查询要在两次之间获取小时。例如,我从查询中得到的结果是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 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;
只要开始时间在结束时间的24小时内。否则,将为您提供从开始时间到结束时间的时间,而不考虑日期。 如果要添加所花费的天数,可以向CONCAT函数添加如下内容:

CONCAT(FLOOR(HOUR(TIMEDIFF(time_start, time_end)) / 24), ' Days ',

希望对你有用。

这可能会解决你的问题

SELECT CONCAT(
MOD(HOUR(TIMEDIFF(time_start, time_end)), 24), ' Hours ',
MINUTE(TIMEDIFF(time_start, time_end)), ' Minutes '
) time_spent
FROM booking_submit;
只要开始时间在结束时间的24小时内。否则,将为您提供从开始时间到结束时间的时间,而不考虑日期。 如果要添加所花费的天数,可以向CONCAT函数添加如下内容:

CONCAT(FLOOR(HOUR(TIMEDIFF(time_start, time_end)) / 24), ' Days ',

希望它对你有用。

DATE\u FORMAT
会有帮助的
DATE\u FORMAT
会有帮助,但为什么其中一些是负值。@阿米鲁法米:实际上
time\u diff()
的参数应该是另一种方式:
timediff(time\u endtime\u start)
(复制/粘贴这部分查询时,我没有注意到列名)。一开始我也没有注意到。但这确实有效且简单。谢谢!这很有效,但为什么其中一些是负值。@Amirufahmi:
time\u diff()
的参数应该是另一种方式:
timediff(time\u endtime\u start)
(复制/粘贴您查询的这一部分时,我没有注意到列名)。一开始我也没有注意到。但这确实有效且简单。谢谢!