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

SQL Firebird Discussion :

Paramètre calculé dans une requête


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut Paramètre calculé dans une requête
    Bonjour,

    Je voudrais faire une requête qui me renvoie les enregistrements dont la sous-chaine des derniers caractères d'un champs correspond à une chaine de caractère donnée.

    Le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select AdresseBien from "TableInoc"
    where Substring(Adressebien from
    Cast((char_length(AdresseBien) - 1 + 2) as Integer) for 2)  = '14'
    A l'exécution, un message d'erreur m'est renvoyé
    Token unknown - line 3, char 1.
    Cast
    Comment dois-je formuler cette requête ?

    Merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT AdresseBien FROM "TableInoc"
    WHERE RIGHT(Adressebien, 2)  = '14'
    http://www.firebirdsql.org/refdocs/l...unc-right.html

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Merci pour ta prompte réponse mais j'ai le même type d'erreur :
    Token unknown - line 2, char 7.
    Right.
    Right derrière where est tout autant refusé que Cast ou char_length.
    Par contre «Where Substring...» fonctionne

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    le Right n'a été rajouté qu'a partir de 2.1 , tu ne nous indiques pas quelle version tu utilises

    peut être aussi un pb de parenthèse et pourquoi un CAST ?

    ceci "fonctionne"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT a.*
    FROM APPOSE a
    WHERE substring(trim(a.libelle_appose) FROM (char_length(trim(a.libelle_appose))-3) FOR 3)='SEM'
    je propose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT AdresseBien FROM TableInoc
    WHERE Substring(Adressebien FROM (char_length(AdresseBien) -  2) FOR 2)  = '14'

  5. #5
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT AdresseBien FROM TableInoc
    WHERE Substring(Adressebien FROM (char_length(AdresseBien) -  2) FOR 2)  = '14'
    L'erreur Token unknown se situe devant la parenthèse qui suit «FROM».

    Je ne sais plus quelle est ma version de Firebird

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par defluc Voir le message
    Je ne sais plus quelle est ma version de Firebird
    difficile de te donner une bonne réponse alors
    fais un effort

    pour les version de Firebird avant la 2.1, tu as l'UDF SRIGHT

    http://www.firebirdsql.org/refdocs/l...df-sright.html

    RTFM

Discussions similaires

  1. [Requête_VBA_Access] Paramètre ignoré dans une requête
    Par Tari_calaelen dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/07/2007, 16h06
  2. attribut calculé dans une requête
    Par guestCam dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/03/2007, 16h58
  3. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  4. Champ calculé dans une requête
    Par HUÏEZ Fabienne dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 12h31
  5. calcul dans une requête
    Par blaz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/12/2003, 10h31

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