Re: Converting BYTEA from/to BIGINT

Поиск
Список
Период
Сортировка
От Vincenzo Romano
Тема Re: Converting BYTEA from/to BIGINT
Дата
Msg-id AANLkTinDPCrfmjU5oHvNSDZU8NC4gYwY932bcWy02+4H@mail.gmail.com
обсуждение исходный текст
Ответ на Converting BYTEA from/to BIGINT  (Vincenzo Romano <vincenzo.romano@notorand.it>)
Список pgsql-general
2010/7/26 Vincenzo Romano <vincenzo.romano@notorand.it>:
> Hi all.
>
> I'd like to convert an 8-bytes BYTEA into a BIGINT and possibly vice versa.
> Is there any way to do it?

Something like:

CREATE OR REPLACE FUNCTION bytea_to_int8( ba BYTEA, OUT res INT8 )
LANGUAGE plpgsql STRICT
AS $BODY$
DECLARE
  i INT;
BEGIN
  res := 0;
  FOR i IN 0 .. 7 LOOP
    res := 256*res + get_byte( ba,i );
  END LOOP;
END;
$BODY$;

gives me back errors (ERROR:  bigint out of range) because of overflow
at step no.7

--
Vincenzo Romano
NotOrAnd Information Technologies
NON QVIETIS MARIBVS NAVTA PERITVS

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

Предыдущее
От: "Machiel Richards"
Дата:
Сообщение: Re: Data dumps to files - best methods?
Следующее
От: Vincenzo Romano
Дата:
Сообщение: Re: Converting BYTEA from/to BIGINT