Requête équivalente MySQL pour Oracle

Requête équivalente MySQL pour Oracle - SQL/NoSQL - Programmation

Marsh Posté le 04-07-2005 à 13:51:19    

Bonjour,
 
Je cherche à réaliser une requête sous Oracle qui consiste à supprimer des tuples dont la date de création est de plus de 3 mois.
J'ai réussi à effectuer cette requête sous MySQL :
 
DELETE
FROM Table  
WHERE Created <= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
 
Elle fonctionne parfaitement, il ne me reste plus qu'à obtenir l'équivalent Oracle :/
 
Si vous pouviez m'aider :)
 
Merci d'avance.

Reply

Marsh Posté le 04-07-2005 à 13:51:19   

Reply

Marsh Posté le 04-07-2005 à 13:53:55    

http://www.psoug.org/reference/date_func.html


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 04-07-2005 à 14:32:03    

justement, j'étais sur ce site :)
 
g bien repéré les opérateurs + et - avec la fonction SYSDATE mais je ne c pas si ça soustrait des jours, des mois ou meme des années :o
 
comment le savoir ?

Reply

Marsh Posté le 04-07-2005 à 14:34:15    

Sans être précisé, il me semble que ce sont des jours !

Reply

Marsh Posté le 04-07-2005 à 14:35:38    

piwi a écrit :

justement, j'étais sur ce site :)
 
g bien repéré les opérateurs + et - avec la fonction SYSDATE mais je ne c pas si ça soustrait des jours, des mois ou meme des années :o
 
comment le savoir ?


 
tu as une fonction add_months si j'ai bien vu, sur cette page...;)


Message édité par skeye le 04-07-2005 à 14:35:54

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 04-07-2005 à 15:05:41    

et MONTHS_BETWEEN également ;)
 
L'avantage étant bien sûr que ça fait des calculs basés sur les nombres de jours de chaque mois ;)

Reply

Marsh Posté le 05-07-2005 à 19:26:20    

Si d'un point de vu "jour", tu te moques que les 3 mois soient à 1 jour près, tu peux faire :
 
delete laTable
where created <= sysdate - 90

Reply

Marsh Posté le 07-07-2005 à 17:43:29    

ce n'est pas propre!
un simple :
delete from table where Created <= add_months(sysdate,-3)
 
devrai suffire!

Reply

Sujets relatifs:

Leave a Replay

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