|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 32 ![]() |
Bonjour,
J'ai une requete ecrite en sql pour la base de donnée Mysql , je veux la changer pour fonctionner sous Oracle mais je ne sais pas comment faire ça! C'est la requete: Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Il n'y a pas grand chose à changer à priori :
truncate -> trunc les dates -> to_date pas d'alias dans le group by et une remarque, la syntaxe ANSI pour les jointures n'implique pas de ne pas utiliser la clause where... Et puis une requête ça s'indente un peu pour pouvoir la relire plus facilement : Code :
|
||
|
|
00
|
|
|
#3 | |||
|
Membre éclairé
![]() |
la CASE est remplacé par des DECODE
les AS pour les alias sont facultatifs Citation:
voici la syntaxe Code :
|
|||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
CASE existe sur oracle et est à la fois plus puissant et lisible que DECODE notamment dans cette requête.
[edit] Il y a une autre différence avec mysql c'est la division par 0 : Code :
Mais bon je suppose que tu ne t'attends pas à ce que le count renvoie 0. |
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com