a wiec chcialbym uzyskac pierwszy i ostatni dzien ubieglego miesiaca
kombinowalem tak:
select (add_months(to_date(sysdate), -1)) from dual
moze ktoś ma jakieś lepszy pomysl?
temat stary jak swiat ale dzis po dluzszej przerwie dopiero dotarlem na forum.
rozumiecie wszedzie korki (IMG:
http://forum.php.pl/style_emoticons/default/smile.gif)
a to moze sie komus przyda:
CREATE OR REPLACE FUNCTION "LORLIK"."DATA_KONCOWA_MIESIACA"
RETURN date IS
dzien NUMBER;
v_wstecz CONSTANT NUMBER := 10;
v_last_day date;
BEGIN SELECT TO_CHAR (SYSDATE, 'DD')
INTO dzien FROM DUAL; IF dzien > v_wstecz
THEN
SELECT LAST_DAY(add_months(to_date(sysdate), -1))
INTO v_last_day FROM dual; else
SELECT LAST_DAY(add_months(to_date(sysdate), -2))
INTO v_last_day FROM dual; END IF;
RETURN v_last_day;
END;
--- i druga
/* (Formatter Plus v4.8.5) */
CREATE OR REPLACE FUNCTION "LORLIK"."DATA_POCZ_MIESIACA"
RETURN DATE IS
dzien NUMBER;
v_wstecz CONSTANT NUMBER := 10;
v_first_day DATE;
--v_parse date;
BEGIN --by wiedziec czy month-1 czy month-2
SELECT TO_CHAR (SYSDATE, 'DD')
INTO dzien FROM DUAL; IF dzien > v_wstecz
THEN
SELECT to_date('01'||to_char((add_months(to_date(sysdate), -1)),'mmyyyy'),'ddmmyyyy')
INTO v_first_day FROM dual; else
SELECT to_date('01'||to_char((add_months(to_date(sysdate), -2)),'mmyyyy'),'ddmmyyyy')
INTO v_first_day FROM dual; END IF;
--v_parse := TO_DATE(v_first_day,'ddmmyyyy');
RETURN v_first_day;
END;
a te n const to po to by bral po 10 jak sie koncyz okres rozliczeniowy
pozdrawiam
Ten post edytował Method 4.10.2005, 11:09:53