SQL NOW()

En SQL, la fonction NOW() permet de retourner la date et l’heure du système. Cette fonction est très pratique pour enregistrer la date et l’heure d’ajout ou de modification d’une donnée, dans un DATETIME ou un DATE(). Cela permet de savoir exactement le moment où a été ajouté une donnée contenu dans une table.

Syntaxe

La fonction NOW() s’utilise très facilement en SQL. Il suffit d’utiliser une requête ayant une syntaxe comme celle ci-dessous:

SELECT NOW();

Cette requête va retourner la date et l’heure. Un résultat possible est donc le suivant :

2013-09-22 16:19:43

La date est l’heure sont affiché au format AAAA-MM-JJ HH:MM:SS (A=Année, M=Mois, J=Jour, H=Heure, M=Minute, S=Seconde).

Exemple

Ajouter un enregistrement avec la date du jour

Imaginons une application quelconque qui possède une base de données pour stocker les informations. Cette base de données contient la table des utilisateurs avec leur login, email et la date où l’utilisateur a été ajouté. Cette date est très pratique pour savoir exactement le jour où l’utilisateur a été ajouté. Cela peut être utile dans le cas de la maintenance de l’application si un bug a été détecté par un utilisateur.

Table utilisateur :

idloginemaildate_ajout
1adminadmin@example.com2013-04-02 12:45:34
2jojojojo@example.com2013-04-11 17:36:11
3totototo@example.com2013-09-02 09:08:47

Imaginons que l’ont ajoute un utilisateur le 22 septembre 2013. La requête SQL pour ajouter cet utilisateur ressemblera à ceci :

INSERT INTO utilisateur ( login, email, date_ajout ) 
VALUES ( 'new_user', 'new_user@example.com', NOW() );

Résultat :

idloginemaildate_ajout
1adminadmin@example.com2013-04-02 12:45:34
2jojojojo@example.com2013-04-11 17:36:11
3totototo@example.com2013-09-02 09:08:47
4new_usernew_user@example.com2013-09-22 17:06:22

Ce résultat montre bien que la date et l’heure seront ajouté, sans avoir à les déterminer via un langage de programmation. Il est donc possible de garder une requête SQL assez simple pour ajouter les utilisateurs.

Retourner la date courante

Il est facilement possible d’obtenir la date courante à partir de la fonction NOW(). Pour cela, il suffit d’utiliser la fonction DATE() ou CAST().

Extraire la date avec la fonction DATE() :

La fonction DATE() permet d’obtenir une date à partir d’une chaîne de caractère au format DATE ou DATETIME. Il suffit d’utiliser la syntaxe suivante pour obtenir la date du jour.

SELECT DATE( NOW() );

Résultat fictif :

2013-09-22

Extraire la date avec la fonction CAST() :

La fonction CAST() permet de convertir un type en un autre type. Il est donc possible de convertir le moment présent au format DATETIME en un résultat de type DATE.

SELECT CAST(NOW() AS DATE);

Résultat fictif :

2013-09-22
Partager