[英]Select from table where difference of date and today
我想顯示整個表格,其中與“日期”列的差異現在大於7。
SELECT * FROM mytable where DATEDIFF(day, date, CURDATE())>=7
沒用 有什么建議么?
DATEDIFF
函數采用2個參數。 嘗試這個:
$sql = "SELECT * FROM mytable where DATEDIFF(date, CURDATE())>=7";
DateDiff()
2個參數作為輸入:
DATEDIFF(表達式1,表達式2)
您可以嘗試以下方法:
$sql = "SELECT *
FROM mytable
WHERE DATEDIFF(date, NOW()) >= 7"
您將三個參數傳遞給DATEDIFF
,而該參數只需要兩個。
更改此:
$sql = "SELECT * FROM mytable where DATEDIFF(day, date ,CURDATE())>=7";
對此:
$sql = "SELECT * FROM mytable where DATEDIFF(date, CURDATE())>=7";
返回expr1-expr2,表示為從一個日期到另一個日期的天數。 expr1和expr2是日期或日期和時間表達式。
DATEDIFF
是一個選項,但請看一下:
SELECT *
FROM mytable
WHERE date_column < (NOW() - INTERVAL 7 DAY)
您可以使用INTERVAL
在MySQL中進行日期計算。 我認為這更容易閱讀,並且也可以使用。 ;)
請注意,這實際上將從當前日期減去7天。 因此,如果您想獲取自當前日期前第七天(即直到當天晚上11:59)以來發生的所有事情,則需要另一種方法(例如DATEDIFF
)。 如果您只想返回經過7天的時間(7 * 24小時),那么這將滿足您的需求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.