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

HyperFileSQL Discussion :

Echappement du caractère générique -


Sujet :

HyperFileSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 38
    Points : 59
    Points
    59
    Par défaut Echappement du caractère générique -
    Bonjour, je me heurte à des difficultés pour bien gérer des valeurs dans une colonne qui ne contiennent que le caractère tiret '-'. Ce caractère est considéré comme générique par SQL pour désigner n'importe quel caractère. Malheureusement j'ai des résultats que je n'explique pas malgré les précautions.

    Pour illustrer mes problèmes voilà quelques requêtes, sur un fichier 'Table' et sa colonne 'Colonne', disons que j'ai deux enregistrements, l'un avec colonne vide , l'autre avec la valeur '-' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM Table
    WHERE colonne = '';
    Les deux enregistrements sont renvoyés, même celui avec '-' donc non vide ! Même chose en utilisant LIKE.

    Autre chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM Table
    WHERE colonne = '\-';
    Cette fois-ci je ne veux que les enregistrements avec colonne ayant juste le tiret comme valeur, j'ai bien pensé à échapper le tiret, mais même chose la requête me renvoie l'enregistrement avec le champ vide !

    Là aussi résultat identique en utilisant LIKE et également en changeant de caractère d'échappement en utilisant ESCAPE.

    Donc voilà soit je rate un truc énorme, soit il y a un truc qui chie dans la colle quelque part. J'espère que quelqu'un aura une idée de ce qui se passe avant que je me résous à employer des contournements vraiment crades.

    Pour information j'utilise HFSQL en version 17 Classic. Les requêtes ont été exécutées avec Hfiltre et directement dans le Centre de contrôle HFSQL avec les mêmes résultats.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    A priori le tiret "-" n'est pas une caractère générique. Il s'agirait de du souligné "_".

    Pour votre problème, votre colonne est peut être indexée avec une propriété insensible aux caractères spéciaux (dont j'ignore la liste exhaustive). Vérifiez ce point.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 38
    Points : 59
    Points
    59
    Par défaut
    Excellente suggestion ! Effectivement la rubrique concernée était indiquée comme clé sans doublons, et automatiquement devenait insensible à la casse, l'accentuation, les espaces et caractères spéciaux.

    Merci beaucoup !

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

Discussions similaires

  1. Commande System caractère générique
    Par Teufboy dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2008, 17h55
  2. QueryString Echappement du caractère &
    Par lapanne dans le forum ASP
    Réponses: 2
    Dernier message: 12/03/2007, 10h49
  3. Non-utilisation d'un caractère générique
    Par ehrhart.jy dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 11h02
  4. [Conception] Echappement de caractères
    Par nicoaix dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 19h32
  5. caractère générique utilisable dans strcmp
    Par barthelv dans le forum C
    Réponses: 9
    Dernier message: 01/08/2003, 16h54

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