减去日期时间以获取MySQL中的日期和小时

mil*_*ven 6 mysql datetime left-join datetime-format

我有一个连接表,在表中我想与主表连接有一个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")
Run Code Online (Sandbox Code Playgroud)

Nis*_*pta 3

尝试这个解决方案:

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")
Run Code Online (Sandbox Code Playgroud)

演示:

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