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
from
weblogs
;
however this complains:
ERROR: Cannot cast type 'bigint' to 'bit varying'
hints?
Thanks,
Adi