CREATE OR REPLACE FUNCTION WSW(parameter VARCHAR2) RETURN DATE IS
val DATE;
BEGIN
IF (REGEXP_INSTR(parameter,'^\d{4}-\d{1,2}$')=1)
then
RETURN TO_DATE(parameter,'yyyy-MM');
end if;

IF (REGEXP_INSTR(parameter,'^\d{4}-\d{1,2}-\d{1,2}$')=1)
THEN
RETURN TO_DATE(parameter,'yyyy-MM-dd');
end if;
RETURN sysdate;
EXCEPTION
WHEN OTHERS THEN
RETURN sysdate;
END;