From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Nikhil Benesch <nikhil(dot)benesch(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: split_part for the last element |
Date: | 2020-10-23 18:35:00 |
Message-ID: | 222396.1603478100@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Fri, Oct 23, 2020 at 8:47 AM Nikhil Benesch <nikhil(dot)benesch(at)gmail(dot)com>
> wrote:
>> Is there another option I'm missing? Would there be interest in
>> extending split part so that negative indices counted from the end, as
>> in:
>> split_part('foo bar baz', ' ', -1) -> 'baz'
> I'm torn here because this would be the first usage of this concept in
> PostgreSQL (I think).
We already have some JSON functions that act like that, not to mention
the left() and right() string functions, so I don't see that much of an
argument against extending split_part to do it.
> Tangentially, I noticed that we have a "starts_with" function but no
> corresponding "end_with".
> It's been a while but there used to be a systemic inertia working
> against adding minor useful functions such as these.
Part of the reason for that bias is that these one-off functions tend
not to be very well thought out or complete :-(. The point that
could be raised here is why we have split_part but not any corresponding
regex-based splitter.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Nikhil Benesch | 2020-10-23 18:38:26 | Re: split_part for the last element |
Previous Message | David G. Johnston | 2020-10-23 18:20:50 | Re: split_part for the last element |