簡體   English   中英

從日期和今天的差異表中選擇

[英]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"; 

DATEDIFF()

返回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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM