converting from bigint to bit to use bitwise operators

Поиск
Список
Период
Сортировка
От Aditya
Тема converting from bigint to bit to use bitwise operators
Дата
Msg-id 20030421215020.GA71612@mighty.grot.org
обсуждение исходный текст
Ответы Re: converting from bigint to bit to use bitwise operators  (Randall Lucas <rlucas@tercent.net>)
Список pgsql-sql
For historical reasons, I have IPv4 addresses stored as bigint and I would
like to convert them to dot-quad (ie. A.B.C.D) in a select. This is how I
would normally do it (the remotehost column is the IP address as a bigint):

select ((remotehost::bit varying(32) >> 24) & 11111111) || '.' || ((remotehost::bit varying(32) & 11111100) >> 16) ||
'.'|| ((remotehost::bit varying(32) & 11110000) >>  8) || '.' || ((remotehost::bit varying(32) & 11000000)) as ip,
httpquery
fromweblogs
;

however this complains:
 ERROR:  Cannot cast type 'bigint' to 'bit varying'

hints?

Thanks,
Adi



В списке pgsql-sql по дате отправления:

Предыдущее
От: Randall Lucas
Дата:
Сообщение: Re: PROBLEM WITH FUNCTIONS
Следующее
От: "Mario Alberto Soto Cordones"
Дата:
Сообщение: Re: PROBLEM WITH FUNCTIONS