problème de selection de date dans ma requête oracle

problème de selection de date dans ma requête oracle - SQL/NoSQL - Programmation

Marsh Posté le 11-02-2008 à 09:55:23    

Bonjour,
 
J'ai problème de selection de date dans ma requête oracle.
 
Ma requête fonctionne mais une fois que je lui demande de m'afficher les hire_date du mois de janvier, il ne me retourne plus aucune ligne. :(
 
select d.location_id,
d.name,
e.Last_name,
e.hire_date,
j.function,
e.salary
from employee e,
job j,
department d
where e.job_id = j.job_id
and e.department_id = d.department_id
and e.job_id = j.job_id
and e.hire_date = to_date('JAN','MON');
 
dans la db Oracle, la date est sous cette forme : 12-JAN-87
 
J'ai besoin d'afficher tous les employés dont la hire_date est en janvier.
 
Merci pour votre aide

Reply

Marsh Posté le 11-02-2008 à 09:55:23   

Reply

Marsh Posté le 11-02-2008 à 10:31:09    

Malheureusement ce n'est pas comme cela que l'on utilise les dates sous oracle, là tu essayes de chopper tous les enregistrements dont la date est le 01/01/2008 à minuit. Pour mieux comprendre essayes ca :

Code :
  1. SQL> select to_char(to_date('JAN','MON'), 'DD/MM/YYYY HH24:MI:SS') from dual;


Tu obtiendras ca :

Code :
  1. TO_CHAR(TO_DATE('JA
  2. -------------------
  3. 01/01/2008 00:00:00


 
Pour faire une sélection sur le mois quelque soit l'année, tu peux essayer ca :

Code :
  1. select d.location_id,
  2. d.name,
  3. e.Last_name,
  4. e.hire_date,
  5. j.function,
  6. e.salary
  7. from employee e,
  8. job j,
  9. department d
  10. where e.job_id = j.job_id
  11. and e.department_id = d.department_id
  12. and e.job_id = j.job_id
  13. and to_char(e.hire_date, 'MM') = '01'

Reply

Marsh Posté le 11-02-2008 à 10:42:58    

Merci beaucoup pour ton aide et tes explications. J'ai compris le principe maintenant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed