我想從表中選擇所有行,在php或sql中添加date< today-15
天。如何在特定時間之前在php中從表中選擇行?
例子:
SELECT * FROM order WHERE date_added< (now()-15days).
我怎樣才能做到這一點?
我想從表中選擇所有行,在php或sql中添加date< today-15
天。如何在特定時間之前在php中從表中選擇行?
例子:
SELECT * FROM order WHERE date_added< (now()-15days).
我怎樣才能做到這一點?
打造您可能需要使用date
在PHP
<?php
$DateString = date('Ymd', strtotime('-15 days'));
$sql = "SELECT * FROM order WHERE date_added< '$DateString' ";
//Execute your SQL and do your stuff.
日期和strtotime
功能
$fiftendaysago = date('Ymd',strtotime("-15 days"));
現在查詢
$sql = "SELECT * FROM order WHERE date_added< '$fiftendayago' ";
我通常使用一個date_diff功能
所以SQL查詢將看起來像
SELECT * FROM order WHERE date_diff(now(), date_added) < 15 ;
功能它的自我
CREATE OR REPLACE FUNCTION date_diff(date, date)
RETURNS integer AS
$BODY$
select $1-$2; $BODY$
LANGUAGE 'sql' VOLATILE
COST 100;
數據庫將做計算。您可以使用變量傳遞日期的時間間隔。
在php中生成時間值「-15天」,並且如果數據庫和應用程序主機不同,並且與數據庫生成日期進行比較可能會產生問題。 確保兩個日期都指向同一個主機。 – Kerem 2013-05-13 21:16:08
公平的一點,但通常不會太擔心15天! – 2013-05-13 21:17:46
是的,絕對! :) – Kerem 2013-05-13 21:33:45