Re: rtrim giving weird result

Поиск
Список
Период
Сортировка
От Ross J. Reedstrom
Тема Re: rtrim giving weird result
Дата
Msg-id 20010315123702.C4454@rice.edu
обсуждение исходный текст
Ответ на Re: rtrim giving weird result  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Thu, Mar 15, 2001 at 01:18:57PM -0500, Tom Lane wrote:
> "Ross J. Reedstrom" <reedstrm@rice.edu> writes:
> >> Is there a way to just remove the "_opto" from the end of the string?
> 
> > If you have exactly one known string to (optionally) remove, this works
> > (and even works if the string is missing. Watch out for the early
> > occurance of substring problem, though!):
> 
> > test=# select substr('center_out_opto',1,(strpos('center_out_opto','_opto')-1)); 
> 
> My first thought for any moderately complicated string-bashing problem
> is to write a function in pltcl or plperl ... they are much stronger in
> string manipulation than SQL itself is.

Agreed, hence the caveats about 'exactly one string, that you know ahead of
time, and never appears as a substring ...'

But it _can_ be done, it's just not pretty. And it _is_ standard SQL:
here's the SQL92 spelling of the above:

SELECT SUBSTRING ('center_out_opto' FROM 1 FOR (POSITION ('_opto' IN 'center_out_opto') - 1));

Ross


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Vincent AE Scott
Дата:
Сообщение: Re: Sheduling in SQL
Следующее
От: "Mikheev, Vadim"
Дата:
Сообщение: RE: Allowing WAL fsync to be done via O_SYNC