Search Postgresql Archives

Re: Backward compatibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sat, 2017-07-22 at 10:49 -0400, Tom Lane wrote:
> Igor Korot <ikorot01@xxxxxxxxx> 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
> 
> 


An alternative select:-


SELECT version(), (regexp_split_to_array( version(), E'\\s+'))[2]


Cheers,
Rob


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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux