Temat: Zwrócenie stringu z funkcji
Witam
Select * from tabela where uzytkownik = 'jola'; działa
Potrzebuje funkcję która zwróci mi tego użytkownika do porównania
CREATE OR REPLACE FUNCTION atest (pracownik integer)
RETURNS varchar AS
$body$
begin
return '''jola''';
end;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY DEFINER
COST 100;
select * from atest(1) zwraca wynik 'jola'
ale
Select * from tabela where uzytkownik =atest (1); nic nie zwraca
Próbowałem też tak, ale również nic nie zwraca
Select * from tabela where uzytkownik = quote_literal(atest(1))
Select * from tabela where uzytkownik = '||quote_literal(jola)||' też nic nie zwraca
Nie wiem dlaczego tak jest
W przyszłości chciałbym napisać funkcję (funkcja1(coś tam)) która zwróciła by np taki wynik w zależności od warunków:
= 'jola';
like '%ol%';
ja podstawiał bym tylko funkcje do zapytania
Select * from tabela where uzytkownik funkcja1(coś tam)
Było by np Select * from tabela where uzytkownik = 'jola';
Select * from tabela where uzytkownik funkcja1(coś tam)
Było by np Select * from tabela where uzytkownik like '%ol%';
Może ktoś mnie pokieruje jak to rozwiązać
Z góry dzięki