Re: Help with converting hexadecimal to decimal

From: "Chandra Sekhar Surapaneni" <chandu(at)positivenetworks(dot)net>
To: "Dawid Kuroczko" <qnex42(at)gmail(dot)com>, "Doug Quale" <quale1(at)charter(dot)net>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Help with converting hexadecimal to decimal
Date: 2005-04-01 15:54:09
Message-ID: 2F03AF96B9977C4B9FABFE989EFC1F92506A74@exchange.positivenetworks.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

That's exactly what I am looking for. Thank you Dawid and everyone for
your help.
Regards
chandu

-----Original Message-----
From: Dawid Kuroczko [mailto:qnex42(at)gmail(dot)com]
Sent: Friday, April 01, 2005 3:28 AM
To: Doug Quale
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Help with converting hexadecimal to decimal

On 31 Mar 2005 21:22:12 -0600, Doug Quale <quale1(at)charter(dot)net> wrote:
> > > I basically want to convert a a hexadecimal to a decimal.
> > Sure:
> >
> > test=> SELECT x'10'::integer;
> > int4
> > ------
> > 16
> > (1 row)

Oh, some time ago I was looking for such a function and somehow I missed
that. Maybe there should be a hint about it around string/numeric
functions?

> That's not the inverse of to_hex(). to_hex() takes an integer and
> returns text. You've taken the bitstring constant B'10000' and
> coerced it to integer. The inverse funtion would take the text '10'
> and return the integer 16.

Well, you can make a function out of it, say:

CREATE FUNCTION from_hex(t text) RETURNS integer AS $$
DECLARE
r RECORD;
BEGIN
FOR r IN EXECUTE 'SELECT x'''||t||'''::integer AS hex' LOOP
RETURN r.hex;
END LOOP;
END
$$ LANGUAGE plpgsql IMMUTABLE STRICT;

Regards,
Dawid

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2005-04-01 15:56:45 Re: Temporary Tables
Previous Message John Hughes 2005-04-01 15:51:25 Inheritance and such