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 :

select de champ avec critere 2 chiffres+ 9 +deux lettres !


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 22
    Points
    22
    Par défaut select de champ avec critere 2 chiffres+ 9 +deux lettres !
    bonjour,
    je vaux selectionner un code de stage avec la condirion quil soit comme
    729lc !!
    jai fait cette requette mais ca donne rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where codestage like '[1-9]+9+[A-Z]'

    c sur toad
    merci de votre aide c urgent pour mon projet

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    c sur toad
    Toad n'est qu'une application, pas une base de données.
    J'imagine que votre SGBD est Oracle.
    Il faut le mentionner et donner sa version également.

    Voici un lien qui devrait vous aider à corriger votre syntaxe :
    http://www.oracle.com/technology/ora...egexp_pt1.html

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    oui effectivement
    c la version 8.6.0.38 et c oracle
    merci de ton aide

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Ce lien ne vous aidera donc pas, les expressions régulières sont apparues en Oracle 10g.
    Vous êtes bon pour le coder "à la main".

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    si vous pouvez me guidez?
    merci

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Il vous faut définir plusieurs conditions :
    1. La sous-chaîne constituée des deux premiers caractères est comprise entre '00' et '99'.
    2. Le troisième caractère est égal à '9'.
    3. La sous-chaîne constituée des deux derniers caractères est comprise entre 'aa' et 'zz'.

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Et pour ça tu as les fonctions instr substr length ... pour manipuler les chaînes de caractères.
    Ensuite tu peux utiliser des CASE dans ton WHERE pour gérer tes cas ou créer une fonction.

  8. #8
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Sur cet exemple pas besoin ni de case ni d'instr ni de length ni de fonction.

    Je le précise pour ne pas embrouiller imanesl, bien que ce soit des éléments à connaître.

  9. #9
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Sur cet exemple pas besoin ni de case ni d'instr ni de length ni de fonction.
    Oui tu as raison substr suffit, le problème m'avait semblé plus compliqué.

    Désolé imanesl pour la mauvaise piste du case et de la fonction

  10. #10
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    c resolu merci a tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * FROM XSTAGE WHERE LENGTH(TRIM(TRANSLATE(SUBSTR(codestage,0,2),'+-.0123456789',' ')))IS NULL 
    AND SUBSTR(codestage,3,1)='9'
    AND LENGTH(TRIM(TRANSLATE(SUBSTR(codestage,4,2),'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',' ')))IS NULL

  11. #11
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Vous pouvez simplifier ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * from XSTAGE 
    where substr(codestage, 1, 2) between '00' and '99'
    and substr(codestage, 3, 1) = '9'
    and lower(substr(codestage, 4, 2)) between 'aa' and 'zz'
    Attention vous vous être trompé sur votre première sous-chaîne, le premier caractère commence à 1 pas à 0.

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

Discussions similaires

  1. Valeur d'un champ avec requete SELECT
    Par N3m0Xy dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/06/2007, 14h33
  2. [Système] champ avec lettres et chiffres
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2006, 20h31
  3. SELECT sur un champ avec accent
    Par Bibicmoi dans le forum Requêtes
    Réponses: 6
    Dernier message: 21/08/2005, 12h20
  4. [CR 8.5] filtrer avec l'expert selection un champs calculé!!
    Par abdel6908 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/06/2005, 10h30
  5. Réponses: 4
    Dernier message: 29/09/2004, 16h08

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