Re: Help with text(decimal) to hex conversion

From: Szymon Lipiński <mabewlun(at)gmail(dot)com>
To: Wei Shan <weishan(dot)ang(at)gmail(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Help with text(decimal) to hex conversion
Date: 2016-03-21 21:05:12
Message-ID: CAFjNrYuXByBzJyaq0bNvhutcXx9AavAx_TP0WfXmeW--uCY=+Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

On 21 March 2016 at 09:30, Wei Shan <weishan(dot)ang(at)gmail(dot)com> wrote:

> Hi all,
>
> There's a column that has datatype of text. The conversion will work fine
> for some of the rows.
>
> *psql> select to_hex(data::bigint)from table limit 5;*
> * to_hex*
> *------------------*
> * 499602d2*
> * 499602d2*
> * 4fa83d1136d920ef*
> * 2e1b71785c8e11c*
> * 53ff4c2824860fb8*
>
>
> However, for some records, the original data is too large for casting.
>
> *ERROR: value "14481874327766585215" is out of range for type bigint*
>
> Any idea how to overcome this? to_hex function only accepts int or bigint.
>
> Thanks!
> --
> Regards,
> Ang Wei Shan
>

Hi,
try this function:

create or replace function text_to_hex(t text) returns text as $$
return hex(int('14481874327766585215'))[2:-1]
$$ language plpythonu;

select text_to_hex('14481874327766585215');
text_to_hex
──────────────────
c8f9f3f90c604f7f
(1 row)

--
regards Szymon Lipiński

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Merlin Moncure 2016-03-21 22:44:25 Re: Help with text(decimal) to hex conversion
Previous Message Gavin Flower 2016-03-21 20:52:13 Re: Help with text(decimal) to hex conversion