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é ?

#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

JEJE33 a écrit:

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

freesnowpetrel a écrit:

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

olive
Participant occasionnel
Lieu: Auch
Date d'inscription: 5 Sep 2005
Messages: 37
Site web

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

olive a écrit:

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

 

Pied de page des forums

Powered by FluxBB