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

GEODATA DAYS 2024

#1 Wed 05 January 2011 14:12

batsss
Participant occasionnel
Date d'inscription: 22 Dec 2010
Messages: 31

extraite décimale ss postgres

Bonjour

je cherche à extraire juste les décimales d'une colonne (ex: 184.652593   je ne veux extraire ds une nouvelle colonne que 652593)

ce q j'ai            ce q je veux obtenir

184.652593           652593
184.652593           652593
184.652604           652604
184.652627           652627
184.652639           652639

merci bcp

Hors ligne

 

#2 Wed 05 January 2011 14:28

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9863
Site web

Re: extraite décimale ss postgres

bonjour,

Code:

SELECT substring('184.652593' from '[0-9]+$');

Il faudra trouver un moyen de convertir le décimal en string.

ou :

Code:

SELECT mod(184.652593,1);

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Wed 05 January 2011 14:40

batsss
Participant occasionnel
Date d'inscription: 22 Dec 2010
Messages: 31

Re: extraite décimale ss postgres

merci
mais comment faire pour lorsque j'ai 5 millions de lignes à faire?? y a t il moyen de faire une formaule pour ttes mes lignes?

Hors ligne

 

#4 Wed 05 January 2011 16:09

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1538

Re: extraite décimale ss postgres

batsss a écrit:

merci
mais comment faire pour lorsque j'ai 5 millions de lignes à faire?? y a t il moyen de faire une formaule pour ttes mes lignes?


Une requete update.

Je reprends la methode d'Yves: table matable, colonnes col1 et col2 (col1 contient les chiffres avec decimales, col2 la partie decimale):

Code:

update matable set col2 = substring(col1::text from '[0-9]+$')::int;

J'utilise ici col1::text pour convertir la colonne col1 du format numerique au format texte
de meme, le resultat de substring est converti en int, si c'est bien le type de la colonne 2.
A ajuster, donc, en fonction de votre schéma.

Nicolas

Hors ligne

 

#5 Wed 05 January 2011 18:27

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3179
Site web

Re: extraite décimale ss postgres

Bonjour,

batsss

Merci de ne pas utiliser systématiquement des abréviations, cela nuit grandement à la lisibilité !

Vous avez de la chance que je ne sois pas tombé sur votre message avant ceux qui vous ont donné une réponse wink


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#6 Thu 06 January 2011 00:22

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 946
Site web

Re: extraite décimale ss postgres

Bonsoir,

A propos de

SELECT substring('184.652593' from '[0-9]+$');


Une solution alternative peut être pour un  type caractère

Code:

SELECT trunc('184.652593'::numeric);

et pour un type numérique

Code:

SELECT trunc(184.652593);

@batsss
Pour comprendre les solutions "toutes cuites" déjà apportées par les précédents contributeurs sur les manipulations de nombre et de texte, allez voir ces deux pages de la documentation officielle de PostgreSQL
http://docs.postgresql.fr/8.4/functions-math.html et http://docs.postgresql.fr/8.4/functions-string.html

Cordialement

ThomasG

Hors ligne

 

#7 Thu 06 January 2011 09:05

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9863
Site web

Re: extraite décimale ss postgres

ThomasG,

Sauf erreur de ma part trunc() prend la partie entière, pas décimal.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#8 Thu 06 January 2011 11:51

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 946
Site web

Re: extraite décimale ss postgres

Yves,

Effectivement...
Je penserai à lire les topics et à répondre à un heure plus raisonnable wink

ThomasG

Hors ligne

 

Pied de page des forums

Powered by FluxBB