#1 Tue 21 December 2004 08:47
- Jmb-gsc
- Invité
Chaine de caractere
Bonjour,
Je ne me rappelle plus la syntaxe pour recherche une chaine de caractere dans les donnees de ma table mapinfo.
exemple:
TYPE NOM
raster photoA
vecteur imageB
raster inconnu
raster image
a partir de ces enregistrement je voudrais sortir tout les enregistrement contenant la chaine image
Merci a vous.
JM
#2 Tue 21 December 2004 12:36
- Annick Lagnion
- Invité
Re: Chaine de caractere
par exemple:
like(nom, %image% , ) qui renvoie la valeur vrai ou faux.
select * from ma_table where like(nom, %image% , ) donne les
enregistrements qui contiennent image
select * from ma_table where not (like(nom, %image% , )) donne les
enregistrements qui ne contiennent pas image.
like(nom, image% , ) cherche si ca commence par image
like(nom, %image , ) cherche si ca finit par image
ou alors instr(1,nom, image ) qui renvoie la position du debut de la chaine
image dans nom (en partant du 1er caractere; on peut mettre n si on veut
chercher a partir du n ieme caractere): si le resultat est 0 c'est que nom
ne contient pas image.
select * from ma_table where instr(1,nom, image )>0 donne les
enregistrements qui contiennent image
select * from ma_table where instr(1,nom, image )=0 donne les
enregistrements qui ne contiennent pas image.
ces 2 fonctions tiennent compte de la casse (majuscule / minuscule)
Si on ne sait pas si les mots sont en majuscule ou en minuscule, on peut
mettre lcase(nom) (ou Ucase(nom)) et ce qu'on recherche en minuscule (ou
en majuscules).
(lcase( Nom )= nom et ucase( Nom )= NOM )
par exemple like(lcase(nom), %image% , ) ou like(ucase(nom), %IMAGE% , )
Annick Lagnion
DDE29