> On 28 Aug 2020, at 2:14, Fontana Daniel C (Desartec S.R.L.) <desartecsrl@gmail.com> wrote:
>
> Perfect.
>
> now let's imagine that '1234567890' is a function f_art_get_price(id_code),
> which returns in a string like the following 'XXXZMMM1234567890123yyyy/mm/dd'
> where 1234567890123 is the price and yyyy/mm/dd the date it was last changed price.
> How would you do in this case to obtain these values separately?
> without calling the function 2 times avoiding overloading the base?
>
> something like this
>
> select art.description,
> f_art_get_price_str( art.id ) as ls_price_and_date
> SUBSTRING( ls_price_and_date, 7, 13 )
> from articulos;
Let's assume art is supposed to be an alias for articulos.
Something like this?:
select art.description,
p.ls_price_and_date,
SUBSTRING( p.ls_price_and_date, 7, 13 )
from articulos art
cross join lateral f_art_get_price_str( art.id ) p(ls_price_and_date);
Alban Hertroys
--
There is always an exception to always.