Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Comment faire un cast de varchar en integer?


  • From: Jean-Paul Argudo <jean-paul(at)argudo(dot)org>
  • To: Pierre Couderc <pierre(at)couderc(dot)cc>
  • Cc: pgsql-fr-generale(at)postgresql(dot)org
  • Subject: Re: Comment faire un cast de varchar en integer?
  • Date: Tue, 11 Apr 2006 12:06:55 +0200
  • Message-id: <443B7FBF(dot)7030605(at)argudo(dot)org>

Re,

> Version 7.4.7
> Merci

Upgradez! ;-)

> Maintenant, je bute sur quelques codes postaux non français non
> numériques, que je réussis à éliminer
> grace  à un expression régulière :  j'ai essayé :
> SELECT  "Nom","Adresse","Code Postal"  FROM "Entreprises" WHERE (( "Code
> Postal" ~ '^ *[0-9]+ *$') ;
> 
> Et ça marche très bien, mais quand je rajoute une condition de condition
> de code postal
> 
> SELECT  "Nom","Adresse","Code Postal"  FROM "Entreprises" WHERE (( "Code
> Postal" ~ '^ *[0-9]+ *$')  AND ("Code Postal"::text::int>0 );
> 
> il me trouve  un erreur dans cette bonne ville des Pennnes Mirabaux 
> (13710):
> 
> Description:     ERREUR:  Syntaxe en entrée invalide pour l'entier :
> "13170 "
> Number:         -2147467259
> Routine:         pgAdmin II:frmSQLInput.cmdExecute_Click
> 
> Qu'a-t-il contre les Pennes Mirabaux? D'autant que si je remplace le
> [0-9]+ par [2-9]+ tout est bon...

Mais vous ignorez donc Les Pennes Mirabeau (magnifique petit coin tout
près d'Aix en Provence...) puisque la chaîne commence par "1".

Et vous avez le soucis parceque "13170 " ce n'est pas la même chose que
"13170". Soit il y a une espace, que vous semblez ne pas échapper dans
votre regexp (à vue de nez, non testé).

Je pense que vous devriez nettoyer dans un premier temps vos données, et
ensuite transformer le type de donnée de la colonne. Ou alors, si vous
n'avez pas le droit de le faire, faire une vue sur cette table, qui
contiendra les casts adéquats pour rendre vos données utilisables.

> Mercci

Je vous en prrie ;-)

-- 
Jean-Paul Argudo



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group