Question: comment faire pour utiliser l'heure actuelle dans une clause where
il y avait une question vient à mon esprit. Est-il possible d'utiliser le timestamp actuel au lieu d'une date sélectionnée dans la Clause where?
SELECT this, that
FROM here
WHERE start>='2010-07-01'
J'ai pensé qu'il serait qqch. comme: démarrer='now()' ou curdate() ou curtime().
Tout ce que j'ai trouvé était qu'ils sont utilisés dans la Clause Select, mais j'en ai besoin là Où.
Toute aide est très appréciée.
La flore
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser l'une des trois fonctions suivantes selon vos besoins:
Le résultat de cette requête est -
Modifié:
vous pouvez utiliser ces fonctions dans la clause where, comme indiqué.
Bien sûr, vous pouvez:
Vous pouvez utiliser n'importe quelle expression dans le
WHERE
clause, à l'aide de tout intégré de la Date et l'Heure de la fonction.J'utiliserais
Tout simplement parce que cela devrait fonctionner dans tous les SGBD. Ne sais pas MAINTENANT (), bien que, peut-être que c'est une fonction standard?
Mise à jour: eh bien maintenant, je sais MAINTENANT() ne fonctionne pas, au moins dans Oracle, je serais certainement aller avec current_timestamp, current_date etc, car ils sont dans la norme. J'ai fait une couple de SGBD migrations (DB2 -> MySQL, MySQL -> Oracle, etc) et je suis content que nous avons utilisé l'conforme aux normes SQL dans la mesure du possible, ce qui rendait les migrations relativement indolore.
Vous ne devriez pas vous citer le nom d'une fonction
Utiliser les noms de fonction comme ceci:
SELECT this, that FROM here WHERE
start >= NOW();
SELECT this, that FROM here WHERE
start >= CURRENT_DATE();