SQL到工作日而不是to_days?

时间:2011-09-13 19:51:32

标签: mysql date datediff

我正在尝试更改sql的这部分

(To_days( now( )) - TO_DAYS( o.date_payed)) days1,
(To_days( now( )) - TO_DAYS( o.date_purchased)) days2,

这样可以正常工作,但我正在尝试进行两项更改,第一项是我希望这只是days1,如果To_days( now( )) - TO_DAYS( o.date_payed)的结果为空则使用第二项

第二个变化是不使用To_days某种方式仅使用工作日,而是欢迎任何想法。

1 个答案:

答案 0 :(得分:1)

对于第一个问题,您可以使用IF function,即

SELECT IF((o.date_payed IS NOT NULL)&&(To_days(now()) != TO_DAYS(o.date_payed))
          ,To_days(now()) - TO_DAYS(o.date_payed)
          ,To_days(now()) - TO_DAYS(o.date_purchased)
        ) AS days1 ...

对于第二部分,您可以使用date_format function,即DATE_FORMAT(o.date_payed, '%w')