Oracle, PL/SQL Datum zerschneiden

zuckerbrini

Mitglied
Hallo!

In diesem Fall ist es mir egal ob ich das ganze gleich im SELECT-Befehl mache oder erst in PL/SQL.

Ich habe ein Datum aus der Datenbank das i zerlegen will und zwar so das ich im Endeffekt 3 Variablen habe (eine fürs Jahr, eine fürs Monat und eine für den Tag).

Hab das ganze jetzt mal in pl/sql in einer Cursor-For-Schleife gemacht (weil ich das für jedes Datum aus der DB machen will)
Mein Versuch:
Code:
   v_jahr := to_char(test_record.datum, 'YYYY');
   v_monat := to_char(test_record.datum, 'MM');
   v_tag := to_char(test_record.datum, 'DD');

Ich bekomme nun aber immer folgende Fehlermeldung:
Code:
PLS-00307: too many declarations of 'TO_CHAR' match this call

Kann mir da vielleicht jemand weiterhelfen?
Kann wie gesagt auch gleich direkt im SELECT_Befehl passieren, nur hab ich da grad auch keine Idee.


Außerdem hab ich da noch eine zweite Frage.
Ich dachte das es funktioniert mit Daten zu rechnen also einfach Datum1-Datum2.
Stimmt das? Bzw. wie kann ich mit Daten rechnen?
 
Hallo!

In diesem Fall ist es mir egal ob ich das ganze gleich im SELECT-Befehl mache oder erst in PL/SQL.

Ich habe ein Datum aus der Datenbank das i zerlegen will und zwar so das ich im Endeffekt 3 Variablen habe (eine fürs Jahr, eine fürs Monat und eine für den Tag).

Hab das ganze jetzt mal in pl/sql in einer Cursor-For-Schleife gemacht (weil ich das für jedes Datum aus der DB machen will)
Mein Versuch:
Code:
   v_jahr := to_char(test_record.datum, 'YYYY');
   v_monat := to_char(test_record.datum, 'MM');
   v_tag := to_char(test_record.datum, 'DD');

Ich bekomme nun aber immer folgende Fehlermeldung:
Code:
PLS-00307: too many declarations of 'TO_CHAR' match this call

Kann mir da vielleicht jemand weiterhelfen?
Kann wie gesagt auch gleich direkt im SELECT_Befehl passieren, nur hab ich da grad auch keine Idee.


Außerdem hab ich da noch eine zweite Frage.
Ich dachte das es funktioniert mit Daten zu rechnen also einfach Datum1-Datum2.
Stimmt das? Bzw. wie kann ich mit Daten rechnen?

Hi,

(Ich würde es immer in SQL machen, wenn es geht, und erst als 2. Lösung PL/SQL nehmen)


Code:
SELECT to_char(SYSDATE,'YYYY') as YEAR,to_char(SYSDATE,'MM') as Month,to_char(SYSDATE,'DD') as Day From Dual
/

- Der Grund, das es bei dir im PL/SQL nicht funktioniert hat., ist, dass TO_CHAR eine SQL- Funktion ist...und keine PL/SQL Funktion.

Gruss
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück