SQL - datediff

0

Potrzebuje pomocy z wyznaczeniem roznicy dni miedzy obecna data, a data z tabeli (wypozyczenie(data.wypozyczenia)) i nastepnie jezeli ta roznica wynosi wiecej niz 28dni za kazdy dzien ma doliczac 20zl do ceny i mam problrm z wyznaczeniem tej roznicy dni bo nie do konca wiem jak ma to wygladac, bardzo prosze o pomoc

CREATE OR REPLACE FUNCTION kara(float) RETURNS float
LANGUAGE plpgsql
AS
'
declare
roznica float;
data float;
begin
select roz(data_wypozyczenia) into data from wypozyczenie where
wypozyczenie.kto_wypozyczyl = $1;
roznica = select datediff(day,data,getdate());               // w tej linijce chce wyznaczyc roznice ale nie wiem jak to ma wygladac dokladnie
if roznica > 28;
then kara=(roznica-28)*20;
else kara = 0;
end if;
return kara;
end;
';
0

W postgreSQL różnice dat wylicza się przez age(). Potem sprawdzasz czy > interval '28 day'. Uważaj tylko na różnice między day a days :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1