У меня есть один вопрос относительно функций даты/времени MySQL. На данный момент у меня есть запрос, который выглядит так:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(sum)))
FROM workingtime
WHERE user='magdalena'
AND type='work'
AND start BETWEEN '2014-03-01' AND '2014-03-12'
AND completed=1
Итак, в моей базе данных есть 2 столбца с отметками времени, первый — «начало», второй — «конец». Что я хотел бы выполнить в запросе sigle, так это: я хотел бы вернуть, сколько разница во времени между началом и 6 утра + сколько разница во времени между 22:00 и концом (с опцией на следующий день...). Мне нужно это для часов ночной смены, поэтому в результате мне нужна сумма часов ночной смены.
Пример:
начало = 2014-02-26 03:30:00
конец = 2014-02-26 12:16:59
Я хотел бы получить разницу между началом и 6 утра и 10 вечера и концом. В этом случае: разница между 3:30:00 и 6:00:00 составляет 2:30:00. Разница между 22:00 и концом в этом случае не имеет значения, потому что время окончания вообще не превышает 22:00. Таким образом, результат в этом случае будет 2:50:00. Это результат, который я хотел бы получить.
Это возможно только с MySQL? Спасибо, ребята, я ценю это.