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?