Re: "money" binary representation

From: Jasen Betts <jasen(at)xnet(dot)co(dot)nz>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: "money" binary representation
Date: 2009-11-16 08:02:25
Message-ID: hdr0uh$6um$2@reversiblemaps.ath.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2009-11-16, Konstantin Izmailov <pgfizm(at)gmail(dot)com> wrote:
> --000e0cd5d09230ff7d04787526aa
> Content-Type: text/plain; charset=ISO-8859-1
>
> I'm trying to read "money" field using PQgetvalue (PostgreSQL 8.3.7). The
> function returns 9 bytes, smth like 0h 0h 0h 0h 0h 0h 14h 0h 0h, for the
> value '$50.2'. I could not find description anywhere on how to convert the
> binary data into, for example, a double precision number.

money is a 64 bit integer representing a number of cents, it appears
to be big-endian byte order on ypur system

it is deprecated and should not be used in new applications, use some
sort of numeric instead.

> Would you please help me find a method of converting binary "money" data
> into a double precision?

floating point is not recomended for financial calculations, but
dividing the integer value by 100.0 should get you there.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jasen Betts 2009-11-16 08:10:40 Re: -c argument not recognized
Previous Message Malm Paul 2009-11-16 07:36:52 dumping parts of a database