Re: postgres function

From: Geoff Winkless <pgsqladmin(at)geoff(dot)dj>
To: Ramesh T <rameshparnanditech(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: postgres function
Date: 2015-10-15 15:04:26
Message-ID: CAEzk6fcQTmuUU_CC6_=9HRgHQCAKDRETxersPyDPxSJoMa=2vA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Well you could use

SELECT LENGTH(REGEXP_REPLACE('123-987-123', '(([^-]*-){2}).*', '\1'));

Not pretty, but it works.

Geoff

On 15 October 2015 at 15:05, Ramesh T <rameshparnanditech(at)gmail(dot)com> wrote:

> '123-987-123' it is not fixed some times it may be '1233-9873-123-098'
> as you said it's fixed,
>
> changes the values in middle of the -
>
> sometimes times i need 1233 and 098 or 9873,first position i'll find
> direct for second variable we don't know where it's end with -
>
> i.e ,
> i need to find second postition of the variable between the '-'
>
>
>
> On Thu, Oct 15, 2015 at 6:32 PM, David G. Johnston <
> david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
>> On Thu, Oct 15, 2015 at 8:32 AM, Ramesh T <rameshparnanditech(at)gmail(dot)com>
>> wrote:
>>
>>> select position('-' in '123-987-123')
>>> position
>>> ---
>>> 4
>>> But I want second occurrence,
>>> position
>>> -------------
>>> 8
>>>
>>> plz any help..?
>>>
>>>
>> ​
>> SELECT length((regexp_matches('123-987-123', '(\d{3}-\d{3}-)\d{3}'))[1])
>> ​
>>
>> David J.
>>
>>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2015-10-15 15:15:23 Re: How can I use crosstab functons in PostgreSQL 9.3?
Previous Message Adrian Klaver 2015-10-15 15:04:08 Re: question