Re: [GENERAL] Backward compatibility
От | Igor Korot |
---|---|
Тема | Re: [GENERAL] Backward compatibility |
Дата | |
Msg-id | CA+FnnTzM44AMqwZDv2p-qiBouTNmwFtn9J3dtFbDZf6-nYWEnw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [GENERAL] Backward compatibility (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Thx. The split_part() works perfectly. On Sat, Jul 22, 2017 at 10:49 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > 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 по дате отправления: