problem z funkcją to_date z sysdate

zobaczyłem topytanie więc mam jedną wątpliwość dotyczącą tego pytania: otrzymuję inny wynik z tą samą datą w następującym zapytaniu.

SELECT TO_CHAR(to_date(sysdate, 'DD-MON-yy'), 'DAY'),
  TO_CHAR(to_date(sysdate, 'DD-MON-yyyy'), 'DAY'),
  TO_CHAR(to_date(sysdate, 'DD-MON-rr'), 'DAY'),
  TO_CHAR(to_date(sysdate, 'DD-MON-rrrr'), 'DAY')
FROM dual;

wyjście jako kolumna:

TUESDAY SUNDAY TUESDAY TUESDAY

proszę mi pomóc, z góry dziękuję.

EDYTOWAĆ

Napisałem prostą procedurę, która upływa dnia, aby znaleźć dzień podany poniżej:

SET serveroutput ON;
CREATE OR REPLACE
    PROCEDURE simple_test
      (
        date_in         IN VARCHAR2)
                        IS
      v_date DATE       := to_date(date_in,'dd-mon-yyyy');
      v_day VARCHAR2(10):=TO_CHAR(v_date,'day');
    BEGIN
       dbms_output.put_line('the day of given date is '||v_day);
    END;
    /

EXEC simple_test (sysdate);

anonymous block completed
the day of given date is sunday  

EXEC simple_test ('01-JAN-2013 ');

anonymous block completed
the day of given date is tuesday  

dlaczego tak się stało?

questionAnswers(2)

yourAnswerToTheQuestion