2014-05-22 36 views
0

我的请求出现问题。在案件中使用DATEDIFF

我想比较2个日期,如果天数低于2,我想不显示任何内容。但如果结束了,我想展示这些日子。 我得到了我的请求,但是当我尝试将DATEDIFF比较2.

SQL> SELECT noLivraison, noCommande, noArticle, dateCommande, quantite, dateLivraison, quantiteLivree, 
CASE dateCommande 
WHEN DATEDIFF(day, dateLivraison, dateCommande) < 2 THEN null 
ELSE DATEDIFF(day, dateLivraison, dateCommande) 
END nombreJoursEcoules 
FROM Commande 
NATURAL JOIN LigneCommande 
NATURAL JOIN Livraison  
NATURAL JOIN DetailLivraison 2 3 4 5 6 7 8 9 
10/
WHEN DATEDIFF(day, dateLivraison, dateCommande) < 2 THEN null 
               * 
ERROR at line 3: 
ORA-00905: missing keyword 

我不知道如何解决它,它失败了,我把更多的括号,但它没有工作。

Ty for reading。

+0

如果这是你所有的查询,你以后'然后缺少'end'关键字null'可能。 –

+0

Oracle中没有'datediff()'函数。 –

+0

那么获得两个日期之间的天数的函数是什么? – Bl4ckb0ne

回答

0

你可以试试下面的代码,可能会解决您的问题

  select col1,col2,case when DATEDIFF(dd, dateLivraison, dateCommande) 

     >= 2 then 'days' else null end as 'datefield', DATEDIFF(dd, dateLivraison, 

     dateCommande) as 'days' from tablename 

感谢