#1 Wed 17 September 2008 15:34
- JEJE33
- Participant actif
- Lieu: Bordeaux
- Date d'inscription: 29 May 2007
- Messages: 121
Requête SQL
Bonjour
J'ai un peu la honte de poser cette question mais la franchement je bloque pour une requête SQL.
Voilà en fait je veux extraire d'une classe d'entité courbes de niveaux toutes les courbes de niveaux qui ont une décimale (1.5, 2.5, etc....)
Mon champ contenant la valeur d'altitude est un numérique, un réel double pour être précis.
Et là je bloque
j'ai bien essayé quelque chose comme cela mais cela ne me retourne aucun enregistrement
Select *
From Table
Where Z LIKE '%,%'
Est ce que quelqu'un à un idée?
Merci
Hors ligne
#2 Wed 17 September 2008 15:49
- Marc Ruffie
- Participant actif
- Lieu: Schilik
- Date d'inscription: 31 Jul 2007
- Messages: 64
- Site web
Re: Requête SQL
Select *
From Table
Where Z LIKE '%,%'
Bonjour,
as tu essayé de remplacé les % par des *?
En espérant t'aider, a plus
Marc
Sauvez un arbre, mangez un castor!
Hors ligne
#3 Wed 17 September 2008 15:57
- JEJE33
- Participant actif
- Lieu: Bordeaux
- Date d'inscription: 29 May 2007
- Messages: 121
Re: Requête SQL
Bonjour Marc
Merci pour ta réponse mais malheureusement cela ne fonctionne pas mieux.
Je continue de chercher.
Merci de ton aide
Hors ligne
#4 Wed 17 September 2008 16:06
- Marc Ruffie
- Participant actif
- Lieu: Schilik
- Date d'inscription: 31 Jul 2007
- Messages: 64
- Site web
Re: Requête SQL
[Ruse de sioux = On]
Tu peux créer un champ (Z_ent) de type entier qui reprend les valeurs de Z
Après, tu sélectionnes les valeurs ou Z <> Z_ent
[Ruse de sioux = Off]
A plus
Marc
Sauvez un arbre, mangez un castor!
Hors ligne
#5 Wed 17 September 2008 16:10
- freesnowpetrel
- Participant assidu
- Lieu: Pretoria, Afrique du Sud
- Date d'inscription: 1 Mar 2007
- Messages: 222
Re: Requête SQL
Bonjour,
Solution:
Select * From Table Where "tonchamp" <> ROUND("tonchamp",0)
Ton champ est comme tu le precises de type numerique tu ne peux donc pas utiliser des fonctions SQL dedies aux champs de type texte, a moins de convertir ton champ en texte. Il te faut donc utiliser des fonctions numeriques comme round qui renvoie un arrondi de la valeur avec le nombre de decimales en deuxieme parametre. Ici si ton nombre n'est pas egal a son arrondi a 0 decimales (autrement dit si mon nombre n'est pas entier) je le selectionne.
A+
Rodolphe
Dernière modification par freesnowpetrel (Wed 17 September 2008 16:17)
Hors ligne
#6 Wed 17 September 2008 16:23
- JEJE33
- Participant actif
- Lieu: Bordeaux
- Date d'inscription: 29 May 2007
- Messages: 121
Re: Requête SQL
Bonjour,
Solution:
Select * From Table Where "tonchamp" <> ROUND("tonchamp",0)
Ton champ est comme tu le precises de type numerique tu ne peux donc pas utiliser des fonctions SQL dedies aux champs de type texte, a moins de convertir ton champ en texte. Il te faut donc utiliser des fonctions numeriques comme round qui renvoie un arrondi de la valeur avec le nombre de decimales en deuxieme parametre. Ici si ton nombre n'est pas egal a son arrondi a 0 decimales (autrement dit si mon nombre n'est pas entier) je le selectionne.
A+
Rodolphe
Bonjour Rodolphe
Merci pour ta solution qui fonctionne super bien
Merci à tous ceux qui ont répondu
Jérôme
Hors ligne
#7 Wed 17 September 2008 20:34
Re: Requête SQL
Et ceci :
SELECT *
FROM Table
WHERE right(Z,2) like ',5';
à adapter ?
remarque : n'est valable que si ton champ est en texte evidement
commentaire moderation : Les réponses se sont croisées, ça ne servira pas pour ce cas, mais on n'utilise trop peu les fonctions VB pour le SQL made in ArcGIS...
Olivier Barasz
Responsable du Pôle Cartographie et Décisionnel
Département du Gers
Hors ligne
#8 Fri 19 September 2008 11:20
- JEJE33
- Participant actif
- Lieu: Bordeaux
- Date d'inscription: 29 May 2007
- Messages: 121
Re: Requête SQL
Et ceci :
SELECT *
FROM Table
WHERE right(Z,2) like ',5';
à adapter ?
remarque : n'est valable que si ton champ est en texte evidement
commentaire moderation : Les réponses se sont croisées, ça ne servira pas pour ce cas, mais on n'utilise trop peu les fonctions VB pour le SQL made in ArcGIS...
Bonjour Olive
Merci pour ta réponse
j'ai testé cette solution sur un autre classe d'entité avec un champ de type texte et effectivement ce la fonctionne
Merci pour ta réponse
Jérôme
Hors ligne