Temat: ilość miesięcy
Witam
Próbuję zrobić funkcję która wylicz różnicę miesięcy z dat.
taki ogólny przykład działa
SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-06-16')-EXTRACT(MONTH FROM TIMESTAMP '2001-02-11');
Mam też taką funkcyjkę z internetu ale nie mogę dojść co ją boli
CREATE FUNCTION MONTHS_BETWEEN(DATE,DATE)
RETURNS NUMERIC AS
'SELECT to_number((date($1)-date($2)),''999999999'')/31'
LANGUAGE 'sql';
dostaje taki błąd:
ERROR: function to_number(integer, unknown) does not exist
LINE 1: ...THS_BETWEEN(DATE,DATE) RETURNS NUMERIC AS 'SELECT to_number(...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Zmiana na:
CREATE FUNCTION MONTHS_BETWEEN(DATE,DATE)
RETURNS NUMERIC AS
'SELECT EXTRACT(MONTH FROM TIMESTAMP date($1))-EXTRACT(MONTH FROM TIMESTAMP date($1))'
LANGUAGE 'sql';
też nic nie pomaga.
Czy ktoś ma może jakiś przykład działającej funkcji lub wie co tu trzeba poprawić?
Z góry dzięki