Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / inet -> 32-bit integer - как? / 7 сообщений из 7, страница 1 из 1
04.11.2004, 08:29
    #32767838
Гравис
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
Есть ли возможность средствапи PL/pgSQL преобразовать inet тип данных (1.2.3.4/24) к 32-битному integer эквиваленту? Например 255.255.255.255 > 4294967295. Ну и наоборот :) Если нет, то как это можно сделать?
...
Рейтинг: 0 / 0
04.11.2004, 14:28
    #32768856
Black Jaguar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
Присоединяюсь! Уж больно надо...
...
Рейтинг: 0 / 0
04.11.2004, 14:33
    #32768870
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
INT8->VARCHAR
VARCHAR->INT8
незабудте inet к варчару приводить!!!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE OR REPLACE FUNCTION billstat.int82ip(int8)
  RETURNS text AS
'
select  ($1&(255::int4<<24)>>24)::text || \'.\' ||
	($1&(255::int4<<16)>>16)::text || \'.\' ||
	($1&(255::int4<<8)>>8)::text || \'.\' ||
	($1&255)::text
'
  LANGUAGE 'sql' IMMUTABLE;

CREATE OR REPLACE FUNCTION billstat.ip2int8(varchar)
  RETURNS int8 AS
'
select  (split_part($1,\'.\',1)::int8<<24)::int8 +(split_part($1,\'.\',2)::int8<<16)::int8 +(split_part($1,\'.\',3)::int8<<8)::int8 + split_part($1,\'.\',4)::int8;
'
  LANGUAGE 'sql' IMMUTABLE;
...
Рейтинг: 0 / 0
04.11.2004, 14:36
    #32768883
MaximZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
функции такой нет. Придется самому написать.
...
Рейтинг: 0 / 0
04.11.2004, 14:41
    #32768898
MaximZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
мдаа, сильно, я и не знал что такое бывает. :)
Особенно первая, впечатляет. :)
...
Рейтинг: 0 / 0
04.11.2004, 19:32
    #32769572
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
это все из за того что PG незнает что такое 0xFF000000 и из за того что у посгреса int4 это не совсем int, а signed int, так бы было красивее и понятнее.
...
Рейтинг: 0 / 0
09.02.2005, 11:56
    #32907769
Vlad Rosikhin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
inet -> 32-bit integer - как?
спасибки всем :) я тоже этим приёмом воспользовался.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / inet -> 32-bit integer - как? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]