Спецификации: Я использую MySQL 5.6 с SQLWorkbench, SequelPro на OSX YosemiteMySQL - Вычитание время от длительности (НЕ DateTime)
фон запроса: Я пытаюсь исправить набор TIMESTAMPDIFF
продолжительности для выходных и праздничных дней. У меня есть 2 хранимых процедуры, которые дают мне количество суббот, воскресений и праздничных дней между двумя датами - они работают нормально. Чтобы получить исправленное TIMESTAMPDIFF
, я поэтому умножаю количество суббот, воскресений и праздников на 24, чтобы получить количество часов, которые нужно вычесть, а затем вычесть это число из TIMESTAMPDIFF
.
Пример: В качестве примера, если временная метка А 14:00 в пятницу и временная метка Б 14:01 во вторник, сырой TIMESTAMPDIFF
это 96:01:00. Предполагая, что понедельник - праздник, а выходные - 48:00:00, я хочу вычесть 72:00:00 с 96:01:00, чтобы получить «разницу в деловых деньках» 24:01:00.
Проблема: Когда я делаю что-то вроде "96:01:00" - "72:00:00" as date_sub_test
, я получаю 24
. Я потерял все форматирование, включая 01 минуту. Продолжительность не DATETIME
, так как они не соответствуют датам календаря, поэтому я не могу использовать DATE_ADD
/DATE_SUB
.
Вопрос: Как вычитать время из продолжительности, сохраняя форматирование и соответствующую базовую систему 60, например, 60 минут в час, а не 100?
Заранее благодарен!
MySql или Microsoft SQL Server или оба? – lad2025
MySQL - вопрос отредактирован - спасибо – geonaut
Вы пробовали функцию TIMEDIFF? https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff – Jaydee