Преобразование int в IP-адрес

127
21

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



SELECT inet '1.2.3.4'-'0.0.0.0'

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



SELECT 16909060::inet

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

спросил(а) 2021-01-26T00:08:04+03:00 5 месяцев, 4 недели назад
1
Решение
155

SELECT '0.0.0.0'::inet + 16909060

ответил(а) 2021-01-26T00:08:04+03:00 5 месяцев, 4 недели назад
46

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

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

ответил(а) 2021-01-26T00:08:04+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема