Re: [GENERAL] Backward compatibility

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [GENERAL] Backward compatibility
Дата
Msg-id 26391.1500734996@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [GENERAL] Backward compatibility  (Igor Korot <ikorot01@gmail.com>)
Ответы Re: [GENERAL] Backward compatibility
Re: [GENERAL] Backward compatibility
Список pgsql-general
Igor Korot <ikorot01@gmail.com> writes:
> But it works incorrectly - it should return:
> 9.5.7 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 6.3.1 20161221
> (Red Hat 6.3.1-1), 64-bit
> i.e. without the word "PosgreSQL", since '\s' should match the (first)
> space in the version().

position() is not a regex operation, it's just a plain substring match.

regression=# SELECT  position( '\s' in version() ) ;
 position
----------
        0
(1 row)

You hardly need any flexibility for this anyway, so I'd just do

regression=# SELECT  position( ' ' in version() ) ;
 position
----------
       11
(1 row)

Although possibly what you really want is split_part().

regression=# select split_part(version(), ' ', 2);
 split_part
------------
 9.5.7
(1 row)

            regards, tom lane


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

Предыдущее
От: Igor Korot
Дата:
Сообщение: Re: [GENERAL] Backward compatibility
Следующее
От: rob stone
Дата:
Сообщение: Re: [GENERAL] Backward compatibility