Datumsformat aus Firebird formatieren
Bernhard Heuvel
- perl
0 MudGuard
0 Klaus Mock
Hallo und Guten Morgen.
Ich habe hier eine Perl-Anwendung, die aus einer Firebird-Datenbank gefuettert wird. Unter anderem bekommt das Programm eine Datumsangabe im Format YY/DD/MM.
Ich moechte natuerlich das deutsche Format DD/MM/YY haben. Als Erstes habe ich mich ueber die Datenbank hergemacht, um dort das Format einzustellen. Upps. Da ist schon das deutsche Format eingestellt. Intern wird es als Ami-Format gespeichert, extern als deutsch ausgegeben (Firebird-DB als FrontEnd dann IB-Expert).
In Perl kommt es aber wieder als Ami-Format an. Hmmm. Gibt es da was von Ratiopharm?
Gibt natuerlich mehrere Moeglichkeiten
-> kann ich das Format mit SQL in einem StoredProcedure steuern? Wenn ja, wie?
-> ich habe es mit dem Perl-Modul Date::Format probiert:
$INSERTDATE = $Date::Format->time2str('%D', $INSERTDATE)
Selber schreiben mit RegExp wuerde ich ja, aaaber ich bin mir gerade nicht sicher, wie ich das Ganze vertauschen soll).Und auch, ob das die beste Loesung ist?
Danke im voraus,
Bernhard Heuvel
Hi,
Ich habe hier eine Perl-Anwendung, die aus einer Firebird-Datenbank gefuettert wird. Unter anderem bekommt das Programm eine Datumsangabe im Format YY/DD/MM.
Ich moechte natuerlich das deutsche Format DD/MM/YY haben.
Hm - was jetzt? Deutsches Datumsformat oder DD/MM/YY?
Als Erstes habe ich mich ueber die Datenbank hergemacht, um dort das Format einzustellen. Upps. Da ist schon das deutsche Format eingestellt. Intern wird es als Ami-Format gespeichert, extern als deutsch ausgegeben (Firebird-DB als FrontEnd dann IB-Expert).
In Perl kommt es aber wieder als Ami-Format an. Hmmm. Gibt es da was von Ratiopharm?
Beim SELECT für die betroffenen Spalten eine entsprechende Formatierungsfunktion anwenden?
(wie die aussehen müßte, mußt Du selbst im Firebird-Handbuch nachgucken - ich kenne Firebird nur dem Namen nach, und das nur wegen des Browsers Phoenix äh Firebird äh Firefox ...)
Selber schreiben mit RegExp wuerde ich ja, aaaber ich bin mir gerade nicht sicher, wie ich das Ganze vertauschen soll).Und auch, ob das die beste Loesung ist?
Die einzelnen Zahlen im Datumsstring matchen (geklammert, damit sie im replace-Ausdruck zur Verfügung stehen) und dann im Replace-Teil in der gewünschten Reihenfolge die $1, $2, $3 einfügen.
cu,
Andreas
Hallo,
Ich habe hier eine Perl-Anwendung, die aus einer Firebird-Datenbank gefuettert wird. Unter anderem bekommt das Programm eine Datumsangabe im Format YY/DD/MM.
Ich moechte natuerlich das deutsche Format DD/MM/YY haben.
Ich vermute mal Du verwendest DBD::Interbase um auf die Datenbank zuzugreifen. Im Kapitel "DATE, TIME, and TIMESTAMP FORMATTING SUPPORT" sollte dann alles notwendige stehen, um Dein Problem zu lösen.
Tja, RTFM zahlt sich manchmal doch aus.
Grüße
Klaus