2009-07-31 19 views
1

Ich habe eine Tabelle, in der ich zwei Felder habe, dh Name des Produkts und Erscheinungsdatum (Typ: Datum) ...mysql Datum Zeit Abfrage Hilfe?

- >> Ich möchte alle Produkte auswählen, die noch nicht gestartet wurden !! !

Dank ...

Antwort

2
select product_name 
from products 
where release_date > CURRENT_TIMESTAMP 
0

Wie wäre es so etwas wie:

SELECT * FROM products WHERE release_date > NOW()

2

Sie CURRENT_TIMESTAMP verwenden können, um das aktuelle Datum und die Uhrzeit zu erhalten. MySQL vergleicht nativ zwei Daten, das ist ein Pluspunkt. Daher müssen Sie nur alle Produkte mit einer release_date größer als die CURRENT_TIMESTAMP greifen.

select 
    product_name 
from 
    products 
where 
    release_date > CURRENT_TIMESTAMP 

Beachten Sie, dass dies auch historisch sein kann. So können Sie ein beliebiges Datum für CURRENT_TIMESTAMP ersetzen und alle Produkte erhalten, die nicht (oder hatte, wenn man weniger hat als (<)) hatte bis zu diesem Zeitpunkt erschienen, etwa so:

where 
    release_date > '7/1/2009' 

Lese up auf der MySQL Date and Time functions für weitere Informationen darüber, wie Sie Daten bearbeiten können, um einige wirklich saubere Abfragen zu tun.

0

Eine weitere Alternative

SELECT * FROM `products` WHERE DATEDIFF(`release_date`, CURDATE()) > 1 
0

müssen auch Nullwerte

SELECT * FROM products WHERE DATEDIFF (release_date, CURDATE())> 1 oder 'RELEASE_DATE' einschließen null ist