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?



Version 7.4.7
Merci

Mais je pense que j'ai trouvé la parade avec
  code_postal::text::integer
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...


Mercci
PC

Jean-Paul Argudo a écrit :
Pierre Couderc wrote:
  
Je chreche à convertir bêtement mon code postral qui est déclaré en
varchar en entier?

SELECT  "Nom","Adresse","Code Postal"  FROM "Entreprises" WHERE
CAST("Code Postal" AS INTEGER)/1000=12;
    


  
Mais il me le refuuse absolument.
    

Quel est le message d'erreur? quelle version de PG ?.. etc

  
Y-a-t-il une asctuce?
    

Rien de particulier. Chez moi, les deux écritures fonctionnent:


test2=> select nom, code_postal, code_postal::integer from entreprise
where code_postal::integer/1000=78;
  nom   | code_postal | code_postal
--------+-------------+-------------
 dalibo | 78220       |       78220
(1 row)

test2=> select nom, code_postal, code_postal::integer from entreprise
where CAST(code_postal AS INTEGER)/1000=78;
  nom   | code_postal | code_postal
--------+-------------+-------------
 dalibo | 78220       |       78220
(1 row)

  



Home | Main Index | Thread Index

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