converting from bigint to bit to use bitwise operators - Mailing list pgsql-sql

From Aditya
Subject converting from bigint to bit to use bitwise operators
Date
Msg-id 20030418191123.GA44801@mighty.grot.org
Whole thread Raw
List 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:

- remotehost 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 by date:

Previous
From: Bharath Seshadri
Date:
Subject: RelationForgetRelation error in postgres 7.2.2
Next
From: foo2@on-spammers2.com
Date:
Subject: Ok,, what about cache for SEQUENCE - where? how?