2011-09-13 32 views
0

我试图做出改变SQLSQL到工作日而不是to_days?

(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

对于您可以使用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')