Re: atoi-like function: is there a better way to do this?

From: Tom Molesworth <tom(at)audioboundary(dot)com>
To: Chris Angelico <rosuav(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: atoi-like function: is there a better way to do this?
Date: 2012-03-05 09:30:06
Message-ID: 4F54879E.9020900@audioboundary.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 05/03/12 05:08, Chris Angelico wrote:
> On Mon, Mar 5, 2012 at 3:15 PM, Tom Molesworth<tom(at)audioboundary(dot)com> wrote:
>> Can you use to_number() here? It sounds like something along the lines of
>> cast(to_number('0' || field::varchar, '999999999.') as int) might give the
>> behaviour you're after, and a quick test seems to indicate that it's about
>> 4x faster than the original function:
> I looked at to_number but it seems to find digits anywhere inside the
> field - to_number('12.34','99999') returns 1234, but I want it to stop
> at the decimal.

Right - that's why I included the . in the format string. Haven't done
exhaustive testing but it seemed to do what you were after.

cheers,

Tom

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Brandl 2012-03-05 10:58:20 Determine dead files
Previous Message Kiriakos Georgiou 2012-03-05 09:21:12 Re: SELECT FOR UPDATE could see commited trasaction partially.