Problem mit der Funktion to_date mit sysdate

Ich habe es gesehenFrage Daher habe ich einen Zweifel in Bezug auf diese Frage: Ich erhalte bei der folgenden Abfrage ein anderes Ergebnis mit demselben Datum.

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;

Ausgabe als spaltenweise:

TUESDAY SUNDAY TUESDAY TUESDAY

bitte hilf mir, danke im voraus.

BEARBEITEN

Ich habe eine einfache Prozedur geschrieben, deren Ablaufdatum für das Finden des unten angegebenen Tages ist:

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  

Warum ist das passiert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage