Réponses:
SELECT * FROM users WHERE created >= CURDATE();
Mais je pense que tu veux dire created < today
SELECT * FROM myTable WHERE DATE(myDate) = DATE(NOW())
En savoir plus: http://www.tomjepson.co.uk/tutorials/36/mysql-select-where-date-today.html
SELECT * FROM users WHERE created >= NOW();
si la colonne est de type datetime.
Si 'created' est de type datetime
SELECT * FROM users WHERE created < DATE_ADD(CURDATE(), INTERVAL 1 DAY);
CURDATE () signifie également '2013-05-09 00:00:00'
Si la colonne a un index et qu'une fonction est appliquée sur la colonne, l'index ne fonctionne pas et une analyse complète de la table se produit, entraînant une requête très lente.
Pour utiliser l'index et comparer la date / heure avec la date actuelle / actuelle, les éléments suivants peuvent être utilisés.
Solution pour OP:
select * from users
where created > CONCAT(CURDATE(), ' 23:59:59')
Exemple pour obtenir des données pour aujourd'hui:
select * from users
where
created >= CONCAT(CURDATE(), ' 00:00:00') AND
created <= CONCAT(CURDATE(), ' 23:59:59')
Ou utilisez BETWEEN pour faire court
select * from users
where created BETWEEN
CONCAT(CURDATE(), ' 00:00:00') AND CONCAT(CURDATE(), ' 23:59:59')
Le code ci-dessous a fonctionné pour moi.
declare @Today date
Set @Today=getdate() --date will equal today
Select *
FROM table_name
WHERE created <= @Today
SELECT * FROM table_name WHERE CONCAT( SUBSTRING(json_date, 11, 4 ) , '-', SUBSTRING( json_date, 7, 2 ) , '-', SUBSTRING(json_date, 3, 2 ) ) >= NOW();
json_date ["05/11/2011"]
vous pouvez renvoyer toutes les lignes et utiliser la fonction php dateiff dans une instruction if, bien que cela alourdit le serveur.
if(dateDiff(date("Y/m/d"), $row['date']) <=0 ){
}else{
echo " info here";
}
CURDATE()
retour seulement date pas heure