Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1654 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] [Oracle] Concatener champ date et champ time pour filtrer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] [Oracle] Concatener champ date et champ time pour filtrer

n°2078342
shooker
Posté le 26-05-2011 à 11:00:00  profilanswer
 

Bonjour,
 
J'ai une table avec un champ "DAY_DATE" (format "DATE" ) et un champ "TIME" (format "TEXT" ). Il faudrait que je puisse faire des requetes sur cette table comme si mes 2 champs n'etaient qu'un seul champ au format "DATETIME". Le probleme est que je ne suis pas du tout specialiste des bases de donnees et encore moins sur Oracle.
 
Comment faire pour concatener ces 2 champs, tout en modifiant le format du champ "TIME" ?
 
Bonne journee,
Merci


Message édité par shooker le 01-06-2011 à 12:10:54
mood
Publicité
Posté le 26-05-2011 à 11:00:00  profilanswer
 

n°2078508
olivthill
Posté le 26-05-2011 à 16:19:04  profilanswer
 

La concaténation se fait avec deux barres verticales ||
 
Essayer de faire une conversion vers une chaine de caractère avec to_char(), et comparer les chaines, ou bien convertir vers une date avec to_date() et comparer les dates.
 
Par exemple :

Select ...
From ...
Where to_char(DAY_DATE, 'YYYYMMDD')||TIME > '2011040112:15'

n°2078526
shooker
Posté le 26-05-2011 à 17:19:06  profilanswer
 

Merci beaucoup pour votre aide.
 
Je n'ai pas le temps de tester aujourd'hui, je le ferais demain sans faute :)
 
Bonne soiree

n°2078535
couak
Posté le 26-05-2011 à 17:39:46  profilanswer
 

Dans Oracle, le type DATE peut aller jusqu'à la précision seconde : tu as de ce fait la possibilité de faire des comparaisons avec date et heure jusqu'à la seconde. Si tu veux aller en dessous de la seconde il faut utiliser le type TIMESTAMP
 
Concernant les comparaisons, il est très fortement conseillé de manipuler au format DATE et pas au format VARCHAR2 pour des raisons de rapidité
Du coup si tu veux comparer il est préférable de convertir ton heure au format DATE et de l'additionner avec ton champs qui contient la date
 
incide : utilise TO_DATE() et l'addition '+'

n°2079690
shooker
Posté le 01-06-2011 à 09:48:29  profilanswer
 

Bonjour,
 
Je ne vois pas comment mettre mon filtre dans la clause WHERE.
Est ce que c'est du genre :
WHERE DAY_DATE + TO_DATE(TIME_DATE, 'HH24:MI') > '31/05/2011 16:00'  
 
J'ai essaye mais ca ne fonctionne pas, comment faut il faire ?
 
Merci

n°2079693
couak
Posté le 01-06-2011 à 09:54:14  profilanswer
 

pour comparer des dates il faut que toutes les données soient en date
convertir au format date ta chaîne '31/05/2011 16:00'  

n°2079705
shooker
Posté le 01-06-2011 à 10:23:29  profilanswer
 

Alors je viens d'essayer en convertissant la seconde date, ca ne fonctionnait pas, j'ai donc essaye ceci :
 TO_DATE(DAY_DATE + TIME, 'DD/MM/YYYY HH24:MI') > TO_DATE('31/05/2011 06:00', 'DD/MM/YYYY HH24:MI')
 
Idem, voici l'erreur renvoye par Flex : [RPC Fault faultString="ociexecute(): ORA-01722: invalid number" faultCode="AMFPHP_RUNTIME_ERROR"

n°2079800
shooker
Posté le 01-06-2011 à 12:10:08  profilanswer
 

Pour info, voici la solution :
TO_DATE(to_char(DAY_DATE,'DD/MM/YYYY')||' '||TIME, 'DD/MM/YYYY HH24:MI')


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] [Oracle] Concatener champ date et champ time pour filtrer

 

Sujets relatifs
Pb Date dans une requette sql en accessrechercher des donnes dans Bd oracle à partir de jsf
Remplir un selectOneMenu à partir d'une BD oracleSQL : concaténer champ et enlever espace UPDATE
Oracle: ORA-12170: TNS: Connect timeoutvalider un champ php avec la function OnkeyUp
Vba Word Userform - insérer un format date particulierOrder by sur un champ taille avec des KB, MB, etc
Access 2003: filtrer un formulaire par le biais d'un autre formulaire 
Plus de sujets relatifs à : [Résolu] [Oracle] Concatener champ date et champ time pour filtrer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR