MySQL中两次差的间隔
我有一个MySQL查询,它使用两个不同的时间戳,可以将它们视为一个时间间隔。我需要额外实施25-30%的差异。例如,如果时间差为30分钟,我需要在…之前和之后再请求5分钟。。有没有一种方法不仅可以得到两个时间戳之间的差异,而且可以计算出这个时间百分比来获得适当的时间间隔,所有这些都在一个语句中 如下所示,其中x是计算值 日期格式(时间戳1-间隔x分钟,“%m/%d/%Y%r”)为“开始” 日期格式(时间戳2+间隔x分钟,“%m/%d/%Y%r”)为“结束”MySQL中两次差的间隔,mysql,Mysql,我有一个MySQL查询,它使用两个不同的时间戳,可以将它们视为一个时间间隔。我需要额外实施25-30%的差异。例如,如果时间差为30分钟,我需要在…之前和之后再请求5分钟。。有没有一种方法不仅可以得到两个时间戳之间的差异,而且可以计算出这个时间百分比来获得适当的时间间隔,所有这些都在一个语句中 如下所示,其中x是计算值 日期格式(时间戳1-间隔x分钟,“%m/%d/%Y%r”)为“开始” 日期格式(时间戳2+间隔x分钟,“%m/%d/%Y%r”)为“结束” ..数据库中有开始时间戳和结束时间戳
..数据库中有开始时间戳和结束时间戳。您希望根据这些值之间的时间跨度,向它们添加额外的时间百分比。换句话说,在不知道两者之间的差异的情况下,你不能增加或减少任何时间量 所以,首先你必须计算出时间跨度。我将使用分钟作为单位,但使用最适合您需要的:
SELECT
@new_span := TIMESTAMPDIFF(MINUTE, timestamp1, timestamp2) * 1.25 new_span,
DATE_SUB(timestamp1, INTERVAL (@new_span*60)/2 SECOND) AS new_start,
DATE_ADD(timestamp2, INTERVAL (@new_span*60)/2 SECOND) AS new_end,
TIMESTAMPDIFF(MINUTE, timestamp1, timestamp2) old_span,
timestamp1 AS previous_start,
timestamp2 AS previous_end
FROM table;
因此,此查询将两次加上25%的差值存储为名为new\u span
的变量。new_start
和new_end
字段使用变量(转换为秒并分成两半)修改原始开始/结束时间。我还选择了旧的时间跨度和原始的开始/结束时间进行比较
以下是示例输出:
new_span new_start new_end old_span previous_start previous_end
1.25 2011-08-11 15:53:22 2011-08-11 15:55:38 1 2011-08-11 15:54:00 2011-08-11 15:55:00
1350.00 2011-08-09 00:45:00 2011-08-10 17:15:00 1080 2011-08-09 12:00:00 2011-08-10 06:00:00
美丽的!我在那里工作,但这确实帮我节省了很多时间。谢谢