Преобразование int в IP-адрес - PullRequest
7 голосов
/ 22 мая 2010

Есть ли простой способ конвертировать int в IP-адрес в PostgreSQL? Я смог перейти от IP к int, используя этот код:

SELECT inet '1.2.3.4'-'0.0.0.0'

Это не работает:

SELECT 16909060::inet

Я ничего не видел в документации. Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

12 голосов
/ 22 мая 2010
SELECT '0.0.0.0'::inet + 16909060
0 голосов
/ 31 декабря 2015

Если кто-то еще пытается выбрать из таблицы, содержащей IP-адреса, а столбец определен как long, вы можете привести к bigint, и преобразование будет работать.

select '0.0.0.0'::inet + cast(source_ip as bigint) from addresses;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...