Datumsformat im Oracle Loader

Hallo,

ich hoffe mir kann jemand helfen. Ich habe in einer Datenbank 2 verschieden Formate für ein Datum. Einmal das deutsche Format dd.mm.yyyy und zum zweiten das amerik. Format mm/dd/yyyy. Könnte ich dies im Loader abbilden?

START_DATE CHAR „to_date(:START_DATE, ‚mm/dd/yyyy_HH24:MI:SS‘)“,

Zusätzlich habe ich das Problem, dass bei der Übergabe in Oracle dabei nur das Datum nicht die Zeit übernommen wird. Was mache ich falsch.

Danke Euch für die Hilfe!!!

Hallo,

Zusätzlich habe ich das Problem, dass bei der Übergabe in
Oracle dabei nur das Datum nicht die Zeit übernommen wird. Was
mache ich falsch.

Danke Euch für die Hilfe!!!

Leider kann ich dir zu der vorgehensweis im SQL Loader gar nichts sagen, da ich mich damit nicht auskenne, aber dass dir beim Datum die Zeit fehlt, könnte am Datentyp liegen.
DATE z.B. hat nämlich im gegensatz zu TIMESTAMP nur Datum ohne Zeit.

… aber dass dir

beim Datum die Zeit fehlt, könnte am Datentyp liegen.
DATE z.B. hat nämlich im gegensatz zu TIMESTAMP nur Datum ohne
Zeit.

  • Nanu, seit wann dass denn ?

SQL*Plus: Release 9.2.0.7.0 - Production on Tue Sep 18 09:12:48 2007

Copyright © 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production

SQL> CREATE TABLE TEST(datum DATE)
/

Table created.

SQL> insert into test(datum) values(sysdate)
/

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SELECT TO_CHAR(datum,‚DD.MM.YYYY HH24:MI:SS‘) from test;

TO_CHAR(DATUM,'DD.M

18.09.2007 09:13:02

SQL>

Gruss

Oh Sorry,

du hast natürlich recht, mein Fehler, ich wollte eigentlich darauf hinweisen, dass in der Variable, solange Sie im Datumsformat bleibt, die Zeit nicht unbedingt ausgelesen wird:

DECLARE
ldDate DATE;
BEGIN
SELECT SYSDATE INTO ldDate FROM dual;
dbms_output.put_line(ldDate);
dbms_output.put_line(to_char(ldDate, ‚dd.mm.yyyy hh24:mi:ss‘));
END;

Output:
18.09.07
18.09.2007 10:44:01

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Oh Sorry,

du hast natürlich recht, mein Fehler, ich wollte eigentlich
darauf hinweisen, dass in der Variable, solange Sie im
Datumsformat bleibt, die Zeit nicht unbedingt ausgelesen wird:

  • Kein Problem, habe es mir auch schon gedacht, dass du dass gemeint hast :smile:)

Gruss

Hi!

Und da muß ich natürlich meinen Senf dazugeben:

Gib vorher noch ein:
„alter session set nls_date_format=‚DD.MM.YYYY HH24:MI:SS‘“

Dann wird hier

DECLARE
ldDate DATE;
BEGIN
SELECT SYSDATE INTO ldDate FROM dual;
dbms_output.put_line(ldDate);
dbms_output.put_line(to_char(ldDate, ‚dd.mm.yyyy
hh24:mi:ss‘));
END;

folgendes Ergebnis kommen

18.09.2007 10:44:01
18.09.2007 10:44:01

Es ist alles nur eine Frage der NLS-Einstellungen …

Grüße,
Tomh