2010-05-21 5 views
7

Existe-t-il un moyen simple de convertir un int en adresse IP dans PostgreSQL? J'ai pu passer d'IP à l'aide de ce code int:Conversion d'un int en adresse IP

 
SELECT inet '1.2.3.4'-'0.0.0.0' 

Cela ne fonctionne pas:

 
SELECT 16909060::inet 

Je ne vois rien dans la documentation. Est-ce que quelqu'un sait comment faire ça?

Répondre

11
SELECT '0.0.0.0'::inet + 16909060 
+0

Cela a semblé fonctionner pour moi. – User1

0

Dans le cas où quelqu'un d'autre essaie de choisir parmi une table contenant les adresses IP et la colonne est définie comme long, vous pouvez lancer à bigint et la conversion fonctionnera.

select '0.0.0.0'::inet + cast(source_ip as bigint) from addresses;