2016-12-22 75 views
0

我想僅在過去30天內顯示日期。爲我的SQL命令。我有一個名爲statement_to_date的DATETIME字段,我希望在過去30天內查找statement_to_date的所有列。這是我到目前爲止:如何在過去30天內顯示SQL日期?

SELECT Statement_TO_DATE, STATEMENT_FROM_DATE 
    FROM claim; 
SELECT DATE_ADD(NOW(), INTERVAL -30 DAY) 

我想我可以插入Statement_TO_DATE INTERVAL,但它不工作。有任何想法嗎?

+2

請標記在更新@GurwinderSingh – GurV

+0

您的RDBMS如果是w2schools教什麼的話,那是完全錯誤的。 – Mdjon26

回答

0

w3schools您可以看到您沒有正確使用DATE_ADD()。 也像Gordon Linoff說你錯過了一個WHERE條款,請嘗試:

SELECT Statement_TO_DATE, STATEMENT_FROM_DATE 
FROM claim 
WHERE statement_to_date >= DATE_ADD(day, -30, GETDATE()); 
+0

問題 –

+1

您是否嘗試過上述語法?表名'claim'後面的分號';'是該語句的終結符,因此'Where'子句將導致錯誤。 –

+0

@WEI_DBA你說得對,我糾正它,謝謝! –

0

你缺少where條款:

SELECT Statement_TO_DATE, STATEMENT_FROM_DATE 
FROM claim 
WHERE statement_to_date >= DATE_ADD(NOW(), INTERVAL -30 DAY); -- assumes the value is never in the future 

通常情況下,隨着日期的時間跨度工作時,你不想當前日期的時間組件。所以,這是比較典型的:

SELECT Statement_TO_DATE, STATEMENT_FROM_DATE 
FROM claim 
WHERE statement_to_date >= DATE_ADD(CURDATE(), INTERVAL -30 DAY); 

注意,MySQL也有DATE_SUB(),如果你不想負的時間間隔。

-1

選擇DATEADD(月,-1,GETDATE())

+0

如果您發佈的是答案,您應該添加一些支持您答案的評論。 –

相關問題