Igor Korot <ikoro...@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


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to