Substract datetime для получения дней и часов в MySQL

у меня есть таблица объединения, на таблице, которую я хочу объединить с основной таблицей, есть имя столбца datetime delivery_date_to, Я хочу, чтобы вычесть delivery_date_to к текущему времени даты и результату вычитания будет в формате дней и часов (Пример: 2 дня 23 часа) в качестве записи. Вот как я присоединяюсь к таблице

SELECT marketplace_orders.entity_id as id, 
       sales_order.delivery_date_to as delivery_date_to,
       (deliver_date_to - current_time = xx days xx hour) as time_left
FROM marketplace_orders 
INNER JOIN sales_order
      ON sales_order.entity_id = marketplace_orders.order_id
      AND sales_order.status IN ("pending","processing")

1 ответов


попробуйте это решение:

SELECT 
    marketplace_orders.entity_id as id, 
    sales_order.delivery_date_to as delivery_date_to,
    CONCAT(TIMESTAMPDIFF(Day,deliver_date_to,NOW()), ' days ',
    MOD(TIMESTAMPDIFF(HOUR,deliver_date_to,NOW()),24), ' hour')  as time_left
FROM marketplace_orders 
INNER JOIN sales_order
    ON sales_order.entity_id = marketplace_orders.order_id
       AND sales_order.status IN ("pending","processing")

демо :

http://sqlfiddle.com#!9 / 9283a8/5