СУБД
Добавил(а) shixaro, последний раз редактировал(а) shixaro Jan 06, 2019  (посмотреть изменения)
Метки: 
(None)

inet_aton

CREATE OR REPLACE FUNCTION inet_aton(text) RETURNS bigint AS '
SELECT
split_part($1,''.'',1)::int8*(256*256*256)+
split_part($1,''.'',2)::int8*(256*256)+
split_part($1,''.'',3)::int8*256+
split_part($1,''.'',4)::int8;
' LANGUAGE SQL;

inet_ntoa

CREATE OR REPLACE FUNCTION inet_ntoa(bigint) RETURNS text AS '
SELECT (($1>>24) & 255::int8) || ''.'' ||
(($1>>16) & 255::int8) || ''.'' ||
(($1>>8) & 255::int8) || ''.'' ||
($1 & 255::int8) as result
'
LANGUAGE SQL;

Пример:

SELECT INET_ATON('127.0.0.1');
inet_aton
————
2130706433
(1 row)
SELECT INET_NTOA(2130706433);
inet_ntoa
———-
127.0.0.1
(1 row)

INET_ATON() не воспринимает корректно краткую запись IP-адресов
запрос SELECT INET_ATON('127.1') не будет работоспособным.

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5 Build:#805 Apr 26, 2007) - Запрос Bug/feature - Связаться с администраторами