Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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
Mysql 根据不同区域的dayname减去时间_Mysql_Sql_Date - Fatal编程技术网

Mysql 根据不同区域的dayname减去时间

Mysql 根据不同区域的dayname减去时间,mysql,sql,date,Mysql,Sql,Date,我需要使用mysql查询减去时间/天 大约是周六02:00(GMT-1)到周三00:59(GMT+5) 如何使用sql查询实现这一点?结果是3天7小时1分钟 编辑:两天属于同一周 编辑:两天属于同一周 然后,通常周三t1和周六t2之间的间隔是相同的,因为DST轮班通常在周日上午进行。最好使用固定日期。假设这项工作的日期,多亏了@symcbean,我可以让它与TIMEDIFF一起工作 SELECT TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00

我需要使用mysql查询减去时间/天

大约是周六02:00(GMT-1)到周三00:59(GMT+5)

如何使用sql查询实现这一点?结果是3天7小时1分钟

编辑:两天属于同一周

编辑:两天属于同一周


然后,通常周三t1和周六t2之间的间隔是相同的,因为DST轮班通常在周日上午进行。最好使用固定日期。

假设这项工作的日期,多亏了@symcbean,我可以让它与TIMEDIFF一起工作

SELECT TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00');
对于白天、小时和分钟:

SELECT CONCAT(
    FLOOR(HOUR(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')) / 24), ' days ',
    MOD(HOUR(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')), 24), ' hours ',
    MINUTE(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')), ' minutes') as TIMEDIFF;

这似乎不起作用,如果是星期天和星期四而不是给定的几天,又会有什么不同?你说的“似乎不起作用”是什么意思?不是所有的日子都是24小时长的。它的输出为空,这是不起作用的,谢谢你提醒我DST班次我现在知道了,我知道了,我可以用timediff工作,但是你能帮我怎么得到天:小时:分钟的格式谢谢
SELECT CONCAT(
    FLOOR(HOUR(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')) / 24), ' days ',
    MOD(HOUR(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')), 24), ' hours ',
    MINUTE(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')), ' minutes') as TIMEDIFF;