Re: Help with converting hexadecimal to decimal

Поиск
Список
Период
Сортировка
От Dawid Kuroczko
Тема Re: Help with converting hexadecimal to decimal
Дата
Msg-id 758d5e7f05040101284f594649@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Help with converting hexadecimal to decimal  (Doug Quale <quale1@charter.net>)
Список pgsql-general
On 31 Mar 2005 21:22:12 -0600, Doug Quale <quale1@charter.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

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

Предыдущее
От: Shaun Clements
Дата:
Сообщение: : Postgres IX
Следующее
От: "Philippe Lang"
Дата:
Сообщение: PL/PERL with composite return values & PGSQL 7.4?