Cum fac o selectie dintr-o tabela MySQL avand drept conditie ziua de azi?

M-am lovit de aceasta problema… pentru a doua oara… si a trebuit sa ma uit din nou pe internet pentru a gasi solutia. A fost semnalul ca ar trebui sa notez undeva metoda prin care poti face selectie dintr-o baza de date avand drept conditie o coloana care sa respecte ziua curenta.

Sa ne reamintim tipurile de date folosite de o baza MySQL pentru zilele si orele din an:

DATE – avand formatul YYYY-MM-DD
DATETIME – avand formatul: YYYY-MM-DD HH:MM:SS
TIMESTAMP – avand formatul: YYYY-MM-DD HH:MM:SS
YEAR – avand fie formatul YYYY, fie YY.

Aceste date de tip temporal vin impreuna si cu functii pe masura. Dintre cele care ne intereseaza pe noi, enumer:

NOW() – returneaza ziua si ora curente in formatul YYYY-MM-DD HH:MM:SS
DATE() – returneaza data in formatul YYYY-MM-DD
CURDATE() – returneaza data curenta in formatul YYYY-MM-DD
CURTIME() – returneaza ora curenta in formatul HH:MM:SS

Prin urmare, atunci cand vrei sa faci o interogare care sa respecte conditia datei curente, scrii astfel:

SELECT * FROM tabelaMea WHERE data_postare = CURDATE()

O alta solutie, cu succes pe internet, desi una babeasca, este:

SELECT * FROM tabelaMea WHERE data_postare = DATE(NOW())

In speranta ca aceasta informatie v-a fost de ajutor, astept comentariile tale.

Merita citit despre functiile DATE:

W3Schools: SQL Date Functions

Lasă un răspuns

Your email address will not be published. Required fields are marked *

No spam? * Time limit is exhausted. Please reload CAPTCHA.