banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 31 March 2006 12:12

cgrangeon
Participant actif
Lieu: La Défense PARIS
Date d'inscription: 21 Sep 2005
Messages: 78

requête

Bonjour,

J'ai une question assez simple, je pense que certaines personnes ont déjà du passer par là:

Je viens de télécharger les données Corine Land Cover sur la France. La nomenclature s'articule en 3 niveaux de détail.

Dans ma table Mapinfo, je n'ai qu'un seul champ CODE_00 (caractères, 3, du type "122" ou "131" par exemple) qui me renvoie à une nomenclature.

Je cherche simplement à faire une requête (ou une analyse thématique) qui me sortirait par exemple toutes les zones dont le code commence par 3 (suivi de n'importe quels autres caractères), pour faire apparaître indifféremment toutes les forêts et milieux semi-naturels; quelle est la syntaxe?
J'ai essayé quelque chose du style CODE_00="3*", mais ça ne sélectionne rien;

Merci d'avance pour votre aide.

Cécile.

Hors ligne

 

#2 Fri 31 March 2006 12:25

Mataio
Participant occasionnel
Date d'inscription: 17 Oct 2005
Messages: 39

Re: requête

Bonjour,

Essayez la fonction $Left(CODE_00, 1) = "3".
Cordialement

Mataio

Hors ligne

 

#3 Fri 31 March 2006 12:30

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: requête

Hello,

Ca serait plutôt : Left$(CODE_00,1)="3" il me semble.

Syntaxe : Left$(champ caractère,nombre de caractère a extraire depuis la gauche)

Robin.

Hors ligne

 

#4 Fri 31 March 2006 12:31

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: requête

Bonjour,
Rapide Mataio...wink Mais attention aux fautes de frappe!
La formule magique est Left$(CODE_00,1) = "3"
à utiliser comme requête ou comme expression de l'analyse thématique.

Dernière modification par Maurice Nadal (Fri 31 March 2006 12:32)

Hors ligne

 

#5 Fri 31 March 2006 12:35

Mataio
Participant occasionnel
Date d'inscription: 17 Oct 2005
Messages: 39

Re: requête

Bonjour,

OK, autant pour moi, c'est effectivement Left$() big_smile.
Heureusement que certains veillent.

Mataio

Dernière modification par Mataio (Fri 31 March 2006 12:40)

Hors ligne

 

#6 Fri 31 March 2006 16:51

cgrangeon
Participant actif
Lieu: La Défense PARIS
Date d'inscription: 21 Sep 2005
Messages: 78

Re: requête

Merci beaucoup pour vos réponses, je vais tester ça rapidement.

Je me doutais que ça ne devait pas être bien compliqué mais comme je fais assez peu de requêtes et pas de programmation, je suis assez peu rodée à ce genre d'exercices.

Cécile.

Hors ligne

 

#7 Fri 31 March 2006 17:34

Pierre Coroller
Participant occasionnel
Date d'inscription: 6 Sep 2005
Messages: 10

Re: requête

Il faut utiser la fonction Left

Left(CODE_00,1) = "3" sélectionne les codes dont le premier caractère à
gauche est égal à 3.

Cordalement
Pierre Coroller

Hors ligne

 

#8 Fri 31 March 2006 17:35

Christophe LEYSSENNE
Juste Inscrit !
Date d'inscription: 17 Oct 2005
Messages: 7

Re: requête

Autre astuce

CODE_OO = "3%"
Cela doit fonctionner aussi.

--
Christophe LEYSSENNE
SIG - cellule Territoires de la DDAF de la Corrèze
cité administrative - 19011 TULLE cedex
tél : 06.07.91.48.45
fax : 05.55.21.81.65

Hors ligne

 

#9 Fri 31 March 2006 17:36

Christophe LEYSSENNE
Juste Inscrit !
Date d'inscription: 17 Oct 2005
Messages: 7

Re: requête

Je me suis trompé sur mon précédent message :-[ , la bonne formule est

Code_00 like "3%"

et là, ça doit fonctionner

--
Christophe LEYSSENNE
SIG - cellule Territoires de la DDAF de la Corrèze
cité administrative - 19011 TULLE cedex
tél : 06.07.91.48.45
fax : 05.55.21.81.65

Hors ligne

 

#10 Fri 31 March 2006 18:57

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: requête

> Christophe LEYSSENNE
>
> Code_00 like "3%"


A titre mnémotechnique, à noter que cet opérateur like se retrouve aussi dans le langage de requete SQL. :-)

select * from table where Code_00 like "3*" ;

Exemple de référence (avec Microsoft Jet SQL > Opérateurs et prédicats) : http://office.microsoft.com/en-us/assis … 31036.aspx


Et d'ailleurs, dans postgresql, c'est exactement le même caractère pourcent (%) que dans MapInfo, qui permet de désigner le motif de recherche (pattern) correspondant à une chaine de caractères quelconques.

select * from table where Code_00 like "3%" ;

Référence : http://www.postgresql.org/docs/8.1/stat … ching.html


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#11 Mon 03 April 2006 14:43

cgrangeon
Participant actif
Lieu: La Défense PARIS
Date d'inscription: 21 Sep 2005
Messages: 78

Re: requête

Effectivement, initialement je recherchais le symbole représentant une chaine de caractères quelconques. C'est donc %;
Encore merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB