|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : février 2008 Messages : 1 ![]() |
Soit le MPD en pièce jointe (dsl pour la qualité de la photo médiocre) (Extrait de l'examen de BDD de mon école d'il ya 2 ans).
J'ai essayé de répondre aux questions mais je ne suis pas sur de ttes mes réponses . J'ai aussi quelques fois des doutes sur une syntaxe ou une autre...Citation:
Code :
SELECT NO_ADHERENT, NOM, VILLE FROM ADHERENT WHERE DATE_ENTREE > '%/04/2000' AND DATE_ENTREE < '%/06/2000' En parcourant le cours de SQLPro (excellent au passage) sur ce même site, je pense que la syntaxe suivante marche aussi: Code :
SELECT NO_ADHERENT, NOM, VILLE FROM ADHERENT WHERE DATE_ENTREE BETWEEN '%/04/2000' AND '%/06/2000' Citation:
Code :
SELECT TITRE, CATEGORIE FROM FILM WHERE REALISATION LIKE '%/%/2000' Sur le cours d'SQLPro j'ai vu la possibilité d'utiliser EXTRACT mais comme on tourne avec Oracle apparament ce standard n'est pas présent... Y'a pas une autre façon d'écrire que la mienne plus "propre" ? Petite dernière Citation:
Code :
SELECT NOM FROM ADHERENT WHERE COMPTE <25 AND CODE_AGENCE=(SELECT CODE_AGENCE FROM AGENCE WHERE ADRESSE_AGENCE='BELLEVUE') Merci à vous pour vos réponses et conseils |
|||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Je n'ai pas vérifié chaque question, mais déjà, le like '%' pour une date ne marche pas. Par exemple, entre avril 2000 et juin 2000, ça se traduit par
Code :
WHERE DATE_ENTREE BETWEEN '01/04/2000' AND '30/06/2000' Pour être sûr d'éviter le problème, tu peux faire Code :
Code :
WHERE to_date(DATE_ENTREE,'YYYYMM') BETWEEN '200004' AND '200006' Code :
WHERE to_char(DATE_ENTREE,'YYYY') = '2000'
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
||
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : août 2007 Messages : 224 ![]() |
HEU pour ta reponse:
SELECT TITRE, CATEGORIE FROM FILM WHERE REALISATION LIKE '%/%/2000' Je pense qu'oracle va t'envoyer boulet ( a moi qu'il fasse une conversion implicite ce que je ne suis pas sur m'enfin Oracle est tres fort... ca m'etonnerais pas qu'il y arrive... ) En tout cas le '%/%/2000' va être considéré comme une chaine de caractères.. donc si ton champ realisation est de type date ca risque de poser probleme Moi, j'aurais fait: SELECT TITRE, CATEGORIE FROM FILM WHERE to_char(REALISATION,'YYYY')= '2000' Pour celle-ci SELECT NOM FROM ADHERENT WHERE COMPTE <25 AND CODE_AGENCE=(SELECT CODE_AGENCE FROM AGENCE WHERE ADRESSE_AGENCE='BELLEVUE') CA me parait correct
__________________
L'habitude est l'illusion d'un acquis imaginaire... Mes Compos Ziks Electros:http://fishbone2k.free.fr/technorulez/news.php?id=89 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com