how to extract specific word from string in Postgres
11,101
You could try to use function split_part
select
id,
split_part( prodname, ' ' , 1 ) as size,
split_part( prodname, ' ', 2 ) as brand
from products
where ({0} is null or split_part( prodname, ' ' , 1 )= {0} ) and
({1} is null or split_part( prodname, ' ', 2 )= {1} )
Related videos on Youtube
Author by
Andrus
Updated on September 15, 2022Comments
-
Andrus over 1 year
Product name contains words deliminated by space. First word is size second in brand etc.
How to extract those words from string, e.q how to implement query like:
select id, getwordnum( prodname,1 ) as size, getwordnum( prodname,2 ) as brand from products where ({0} is null or getwordnum( prodname,1 )={0} ) and ({1} is null or getwordnum( prodname,2 )={1} ) create table product ( id char(20) primary key, prodname char(100) );
How to create getwordnum() function in Postgres or should some substring() or other function used directly in this query to improve speed ?