Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 22/11/2011, 18h42   #1
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 135
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 135
Points : 32
Points : 32
Par défaut Problème avec CURRENT_TIMESTAMP

Bonjour à tous,

J'ai une petite question syntaxique.

Je voudrais réaliser une requête ne me remontant que les données des 30 derniers jours. Pour faire cela j'ai mis en place une requête du genre :

Code :
SELECT * FROM TABLE WHERE DATE>(CURRENT_TIMESTAMP-30)
Mais cela n'a pas l'air de fonctionner correctement.

Faut-il que je me tourne sur une modification de "CURRENT_TIMESTAMP" en jour ? ou que je transforme 30 dans le format de "CURRENT_TIMESTAMP" ? si oui lequel est-il ?

Merci d'avance pour toutes vos réponses (pour aider un débutant en détresse )
drumtof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 18h50   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Si votre colonne "date" est de type date, il vaut mieux utiliser sysdate (qui est du type date) au lieu de current_timestamp, qui est du type timestamp.

Ajouter un nombre à un timestamp force la conversion en type date :
Code :
1
2
3
4
5
6
SELECT sysdate                               AS dt_now
     , sysdate           - 30                AS dt_now_30 
     , current_timestamp                     AS ts_now
     , current_timestamp - 30                AS ts_now_30
     , current_timestamp - interval '30' day AS ts_now2_30
  FROM dual;
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 16h57   #3
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 135
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 135
Points : 32
Points : 32
C'est exactement la bonne réponse du premier coup :o)))

Merci beaucoup Waldar
drumtof 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 17h26.


 
 
 
 
Partenaires

Hébergement Web