Pages: 1
- Sujet précédent - requête SQL pour étiqueter les entités sans le caractère "?" - Sujet suivant
#1 Mon 14 April 2008 09:43
- chris
- Participant actif
- Lieu: florensac
- Date d'inscription: 7 Sep 2005
- Messages: 56
requête SQL pour étiqueter les entités sans le caractère "?"
Bonjour,
J'aurais besoin d'étiqueter une partie des entités d'une couche (et non pas toutes les entités de ma couche). Pour cela je fais une requête SQL pour dire quelles entités sont à étiqueter. Il me faudrait étiqueter toutes les entités sauf celles contenant le caractère "?". Comme il s'agit d'un caractère spécial je ne sais pas comment faire.
J'ai pensé à :
Code:
[monChamp] not like '*?*'
mais bien sûr ça ne marche pas puisque le * signifie un certain nombre de caractères mais que le ? est vraiment un caractère
J'ai essayé avec un "\" avant le ? pour forcer le caractère "?" mais ça ne marche pas non plus =>
Code:
[monChamp] not like '*\?*'
Dans l'aide d'ArcGis on nous dit d'utiliser un = si on veut forcer le caractère spécial, mais j'ai besoin d'utiliser un * avant et après le ? car le nombre de caractères varie. Donc comment faire ?
Christelle VALLS
Géomaticienne
Hors ligne
#3 Mon 14 April 2008 14:57
Re: requête SQL pour étiqueter les entités sans le caractère "?"
Bonjour,
J´ai fini par la trouver avec un peu de chance :
Code:
POSITION('?' IN "monChamp") = 0
La fonction "position" retourne la 1ère position du caractère recherché (ici '?') dans un texte (contenu dans "MonChamp"). Si '?' est absent, la fonction retourne 0.
Cela fonctionne avec ArcGIS 9.2 SP4.
Géomatiquement,
Alban
PS : la SP5 est-elle stable ?
Hors ligne
#4 Mon 14 April 2008 16:05
- chris
- Participant actif
- Lieu: florensac
- Date d'inscription: 7 Sep 2005
- Messages: 56
Re: requête SQL pour étiqueter les entités sans le caractère "?"
J'ai essayé : [champ] NOT LIKE '%?%' mais ca ne marche pas mais ne fait pas d'erreur.
et POSITION('?' IN "monChamp") <> 0 me fait une erreur
RQ : j'ai la version française et ArcView 9.1
Christelle VALLS
Géomaticienne
Hors ligne
#5 Mon 14 April 2008 16:14
- Tnarbiv
- Participant assidu
- Lieu: Véretz
- Date d'inscription: 5 Sep 2005
- Messages: 392
Re: requête SQL pour étiqueter les entités sans le caractère "?"
Bonjour,
Faîtes une vérification concernant la syntaxe dans vos requêtes car si vous travaillez avec des fichiers de formes, couvertures ou gdb personnelles celle-ci change.
ex : "nom du champ" pour les fdf et couvertures et [nom du champ] pour les gdb perso.
@+
Ayez le réflexe "Développement Durable": N'imprimez ce message que si nécessaire.
Hors ligne
#6 Mon 14 April 2008 16:27
- chris
- Participant actif
- Lieu: florensac
- Date d'inscription: 7 Sep 2005
- Messages: 56
Re: requête SQL pour étiqueter les entités sans le caractère "?"
j'ai trouvé la solution, puisque la fonction position retournait une erreur, j'en ai essayé une similaire :
Instr([monChamp],'?')=0
Et cette fois ci ça marche
Merci pour votre aide !
Christelle VALLS
Géomaticienne
Hors ligne
Pages: 1
- Sujet précédent - requête SQL pour étiqueter les entités sans le caractère "?" - Sujet suivant