Trier valeur par date

ppl -  
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai des données dans une table avec une colonne date au format 2013-02-02 19:42:46 quand on liste le contenue de la date j'aimerais trier la date comme par exemple la dernière heure ou depuis 24 heures

20 réponses

goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
si vous voulez faire un tri selon l'heure ,vous devez faire ça :
select * from nom_table
order by extract(hour from nom_colonne);
1
ppl
 
merci mais cela affiche tous les enregistrements et pas uniquement ceux qui date de moins de 1 heure

merci
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
désolé j'ai pas compris qu'est ce que vous voulez faire ,pouvez vous m'expliquer ?
0
ppl
 
j'ai une table avec une colonne de date au format 2013-02-20 19:07:56

et je veux afficher uniquement le contenu de la table de moins d'une heure en se fiant à l'heure contenue dans ma colonne date et heure
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
affichage des lignes de moins d'une heure ?
c'est pas clair ,désolé
est ce que vous pouvez nous fournir un exemple
0
ppl
 
dams mon application quand on ajoute un article cela rajoute une ligne dans la table avec plusieurs colonnes comme "nom" et "date_ajout" et je veux afficher uniquement les articles ajoutés il y a moins d'une heure
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
Vous devez faire un calcul en fonction (heure,minutes ..) juste une idée :
select * from nom_table
where extract(hour from nom_colonne) =(select to_char(sysdate,'HH24') from dual) ;


=>cette requête permet d'afficher toutes lignes dont l'heure est égale à l'heure de système
0
ppl
 
select * from article where extract(hour from date_ajout) =(select to_char(sysdate,'HH24') from dual) ;
FUNCTION article_live.to_char does not exist
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
j'ai vérifiée la requête ,elle marche chez moi !!
quelle est le type de la colonne date_ajout ?
0
ppl
 
type varchar text
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
donc le problème est au niveau du type de champ date_ajout ,vous devez modifier le type de ce champ ,je vous propose d'utiliser "TIMESTAMP" ,si non si vous voulez garder le type "varchar" vous devez extraire l'heure depuis le champ date_ajout en utilisant la fonction substr
0
ppl
 
comment fait-on pour utiliser substr
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
substr c'est fonction qui permet d'extraire des caractères depuis une chaine.
la syntaxe est le suivant:
substr( nom_chaine, position,longueur )

exemple:
substr('TechOnTheNet', 1, 4)
=>retourne:Tech
0
ppl
 
par exemple 2013-02-20 19:07:5

si je veux extraire l'heure

substr( date_heure, 4,2 )

c'est ça non ?
0
ppl
 
bonjour et merci de votre aide,

j'ai mit ma colonne en timestamp

toujours pareil select * from article where extract(hour from date_ajout) =(select to_char(sysdate,'HH24') from dual) ;
FUNCTION article_live.to_char does not exist
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
pour la fonction substr(date_ajout,12,2)
j'ai bien vérifié le cas où la colonne est de type timestanp ,elle marche bien chez moi ,j'avais écrit cette requête et me renvoie le résultat:
select * from nom_table
where extract(hour from nom_colonne) =(select to_char(sysdate,'HH24') from dual) ;
0
ppl
 
je tourne sous ubuntu precise (12.04)
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
Désolé pour le retard,je crois que le problème lié à la version de SQL.
0
ppl
 
c'est pas grave je me suis débrouiller autrement : enregistre l'heure dans une colonne puis afficher où l'heure de la colonne est égal à l'heure du système mais ç a ne fais pas toujours une heure car de 18:59 à 19:00 il y a que une minute
0
goldray Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonsoir,
je vous propose de visiter ce forum et j'espère que vous auriez la solution pour vos soucis ..
https://forums.oracle.com/forums/forum.jspa?forumID=82&start=0

//site officiel d'oracle

bonne chance
0