IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[SUBSTR] Ca coince


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Points : 174
    Points
    174
    Par défaut [SUBSTR] Ca coince
    Bonjour a tous !

    Je voudais faire cette requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT v.nom_village, d.nom_departement, d.no_departement 
      FROM village v 
        INNER JOIN departement d
          ON SUBSTR(v.cp_village, 1, 2) = d.no_departement 
      WHERE v.id_village = xxxx
    *

    Cela fonctionne parfaitement lorsque le no du departement est à 2 chiffres.
    Par contre, pour l'allier par exemple, ca ne fonctionne pas car le SUBSTR me rend 01 et que le no de departement est '1'.
    Je previens a l'avance que je ne peux changer les no dans la base pour mettre '01'. On voit mieux l'interet de mettre des varcahr sur des données non calculables !!

    Quelqu'un aurait-il une solution SQL pour avoir toujours la bonne solution ??

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Si no_departement est un entier dans la base peut être que .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT v.nom_village, d.nom_departement, d.no_departement
      FROM village v
        INNER JOIN departement d
          ON CAST(SUBSTR(v.cp_village, 1, 2) AS Integer) = d.no_departement
      WHERE v.id_village = xxxx
    Fonctionnerait.
    A+
    Soazig

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    J'imagine que tu es sous ORACLE si tu utilises la fonction SUBSTR (?) donc tu disposes aussi de TO_NUMBER :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ... INNER JOIN departement d 
          ON TO_NUMBER(SUBSTR(v.cp_village, 1, 2)) = d.no_departement ...

  4. #4
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Points : 174
    Points
    174
    Par défaut
    Merci les gars !

    Je vais tester vos deux solutions. Mias je crois me souvenir de cela en effet, et les deux fonctionnent, je crois.

    Je suis sous PostGreSQL

    JE teste et je vous bip !

    merci encore

  5. #5
    Membre habitué
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Points : 174
    Points
    174
    Par défaut
    La solution de soazig est parfaite.
    Celle de Magnus est bonne sous oracle mais pas sous PostGres !
    JE tacherais de le retenir.

    Merci en tout cas, vous etes de veritables encyclopédies

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec un substring
    Par yoda_style dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 11h29
  2. Ca coince déjà..
    Par SuperDindon dans le forum DirectX
    Réponses: 2
    Dernier message: 24/03/2004, 07h54
  3. Carré coincé !
    Par GLDavid dans le forum OpenGL
    Réponses: 3
    Dernier message: 11/02/2004, 10h00
  4. [sous-chaine] Avec strpos ou substring ??
    Par terziann dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 17/07/2003, 15h28
  5. Réponses: 2
    Dernier message: 10/07/2002, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo