Bonjour,
Je ne parviens pas à comparer deux dates en SQL sous Oracle.
Sauriez vous me dire quel genre de fonctions on peut utiliser ?
(j'imagine qu'il en existe :mouarf: )
merci
Version imprimable
Bonjour,
Je ne parviens pas à comparer deux dates en SQL sous Oracle.
Sauriez vous me dire quel genre de fonctions on peut utiliser ?
(j'imagine qu'il en existe :mouarf: )
merci
qu'as tu essayé?
quel type de requete te pose probleme?
selectionner toutes les lignes d'une table pour lesquelles le champ date est plus récent que la date du jour précédent.
par ex
j'essaie d'utiliser TO_DATE comme fonction mais je n'arrive pas a quelquechose de correct d'un point de vue syntaxeCode:
1
2
3 SELECT * FROM ma_table WHERE ma_table.date > 24/03/2006
date est un champ de ma_table
Code:
1
2
3 SELECT * FROM ma_table WHERE ma_table.date > to_date("20060324", "yyyymmdd")
ou mieux, avec la date système de la BDD :Code:
1
2
3 SELECT * FROM MaTable WHERE MaDate > TO_DATE ('24/03/2006', 'dd/mm/yyyy');
Code:
1
2
3 SELECT * FROM MaTable WHERE MaDate > SYSDATE;
ce que tu as proposé fonctionne :) :
Pour information saurais tu comment travailler a partir de la date courante system + 1 jour ou + 1 mois?Code:
1
2
3
4 SELECT * FROM MaTable WHERE MaDate > TO_DATE ('24/03/2006', 'dd/mm/yyyy');
merci !
Un simple "+1" permet d'ajouter un jour à une date.
Ajouter 1 mois, je ne sais pas faire (ou alors il faut détailler les spécs ;) ), le mois est une durée variable :? ...Code:
1
2
3 SELECT * FROM MaTable WHERE MaDate + 1 > TO_DATE ('24/03/2006', 'dd/mm/yyyy');
cf un article intéressant : http://sqlpro.developpez.com/cours/gestiontemps/
je viens de comprendre que l'histoire des mois risque d'etre + complexe que ce que je pensais
je souhaiais que 1 mois corresponde au meme numéro de jour dans le mois précédent.
par ex
21/02/2006 --> 21/01/2006
mais dans ce cas-ci ....
30/03/2005 --> X
enfin merci pour le coup de main je vais me débrouiller avec ça