Equivalence d un ESCAPE pour Select avec caracteres speciaux

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Equivalence d un ESCAPE pour Select avec caracteres speciaux

Messagede MELLARE Gregory » Mar 25 AoĂ» 2009 14:29

Bonjour

dans ma table F_ECRITUREC j ai mon champ EC_INTITULE qui a certaines valeur qui commencent par *FNP*

Je cherche a isoler ces valeurs dans un select du style :

SELECT * FROM F_ECRITUREC WHERE EC_INTITULE LIKE '*FNP*%'

sauf que l etoile equivaut a % et il me ressort TOUS les enregistrements qui contiennent FNP

J ai vu qu en SQL on pouvait definir un caractere d echappement des caracteres speciaux.
Exemple :

SELECT * FROM F_ECRITUREC WHERE EC_INTITULE LIKE '/*FNP*%' ESCAPE '/'

mais ca marche pas.

J ai egalement essaye de mettre l asterisque entre [] mais marche pas non plus...


Quelle est la solution :?:
MELLARE Gregory
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Mar 25 AoĂ» 2009 14:22

Re: Equivalence d un ESCAPE pour Select avec caracteres speciaux

Messagede OokieDookie » Lun 31 AoĂ» 2009 10:39

Bonjour,

:?: Dans quel environnement ĂŞtes-vous ?
En SQL server les caractères jokers sont '%' (pour '*') et '_' (blanc souligné, pour '?')

Donc votre requête devrait être correcte avec la première syntaxe :
Code: Tout sélectionner
SELECT * FROM F_ECRITUREC WHERE EC_INTITULE LIKE '*FNP*%'


Sinon que donne ceci (non testé car encore une fois ça fonctionne chez moi :roll: )
Code: Tout sélectionner
SELECT * FROM F_ECRITUREC WHERE EC_INTITULE LIKE '/*FNP/*%' ESCAPE '/'


D'après http://sqlpro.developpez.com/cours/sqlaz/select/, Exemple 16, le caractère d'échappement défini ne s'applique qu'au caractère suivant dans l'expression de recherche, il faut donc l'utiliser deux fois.

HTH,
"L'expérience est le nom que chacun donne à ses erreurs." (O. Wilde)
Qualité et précision de la question conditionnent celles de la réponse. :roll:
:arrow:Nouveau venu ? Une urgence ? A lire...
:arrow:SMS-addict / M(o)ufles OEM ?
Avatar de l’utilisateur
OokieDookie
Modérateur
Modérateur
 
Messages: 1012
Inscription: Jeu 14 Fév 2008 13:50
Localisation: Paris


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités