ich eine Funktion haben, die den Tag zurückkehren sollte, wenn ein Datum übergeben wird:Erhalten Tag der Woche ab dem Datum nicht korrekt SQL funktioniert
FUNCTION f_dayofweek(pd_date DATE) RETURN VARCHAR2 IS
ps_weekdayname VARCHAR2(9);
BEGIN
ps_weekdayname := to_char(to_date(pd_date,'dd/mm/yyyy'), 'DAY');
RETURN ps_weekdayname;
END;
So weit so gut, aber wenn ich übergeben ein Datum an die Funktion:
SELECT GENERAL_FUNCTIONS.F_DAYOFWEEK('13-OCT-2016') FROM dual;
, das die folgenden Tag zurückgeben sollte:
DONNERSTAG
Doch statt zurück:
DIENSTAG
Ich versuchte es auch mit einem anderen Datum:
SELECT GENERAL_FUNCTIONS.F_DAYOFWEEK('07-OCT-2016') FROM dual;
Welche zurückkehren sollten;
Freitag
Doch statt zurück:
Mittwoch
So scheint es, dass das Datum immer zwei Tage hinter ist. Irgendwelche Vorschläge?
Warum übergeben Sie ein "Datum" als Zeichenfolge? Verwenden Sie die Typen korrekt in der Datenbank, und Sie erhalten die richtige Antwort. –
Welche DBMS verwenden Sie? (Dieser Code sieht nicht wie ANSI SQL aus.) – jarlh
Ich benutze Entwickler 4 –