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 ...
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 ...
select product_name
from products
where release_date > CURRENT_TIMESTAMP
Wie wäre es so etwas wie:
SELECT * FROM products WHERE release_date > NOW()
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.
Eine weitere Alternative
SELECT * FROM `products` WHERE DATEDIFF(`release_date`, CURDATE()) > 1
müssen auch Nullwerte
SELECT * FROM products
WHERE DATEDIFF (release_date
, CURDATE())> 1 oder 'RELEASE_DATE' einschließen null ist