Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/01/2012, 16h42   #1
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : décembre 2011
Messages : 12
Points : 4
Points : 4
Par défaut SQL - Manipulation de dates

Bonjour,

Je dispose d'une table ACTIONS, avec un champ date_ajout_action qui contient la date format Y-m-d de la création de l'enregistrement.

Il me faut récupérer tous les enregistrements de cette table datant de moins de 7 jours (par rapport à la date actuelle)


Or je ne sais comment exprimer un décalage de 7 jours dans la requête.

Merci d'avance de votre aide
Zoups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 23h12   #2
Invité régulier
 
Inscription : mai 2002
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 9
Points : 8
Points : 8
Au moins pour Oracle (car je ne suis pas sûr de la gestion des dates sous un autre SGBD qu'Oracle)
Code :
1
2
3
SELECT *
  FROM ACTIONS
 WHERE date_ajout_action > sysdate -7;
au passage, si le champ est de type date (toujours pour oracle), le "format de date", ça ne veut pas dire quand chose. C'est stocké sous 7 octets et that's all.
claudio.matzke est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 08h24   #3
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 700
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 700
Points : 844
Points : 844
L'information sur la "date du jour" dépend du SGBD utilisé;
d'où l'importance de lire les règles du forum...

Sous FIREBIRD, c'est current_date
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 10h41   #4
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : décembre 2011
Messages : 12
Points : 4
Points : 4
Merci de vos réponses,

J'utilise phpMyAdmin.
La commande pour récupérer la date actuel est NOW()

Mais quand je fais "- 7" cela ne décale pas de 7 jours :

Code :
1
2
SELECT * FROM ACTIONS
WHERE date_ajout_action > NOW() -7
Zoups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 10h45   #5
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : décembre 2011
Messages : 12
Points : 4
Points : 4
Problème résolu !

En remplacant NOW() par current_date cela fonctionne :

Code :
1
2
3
SELECT *
  FROM ACTIONS
 WHERE date_ajout_action > current_date -7
Merci à vous !
Zoups est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h57.


 
 
 
 
Partenaires

Hébergement Web