Frage zu Perl
- Dieses Thema hat 3 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahre, 4 Monaten vonMitglied.
- AuthorPosts
- 6. Januar 2005 um 18:12 Uhr #2494
Hallo liebe deutsche DB-Experte,
könnte mir jemand sagen, ob es irgendwie möglich wäre bei perl-Programmierung das Format eines abgefragten timestamp Feldes umzustellen, was man bei anderen Sprachen mit der DATETIME JIS precompile option erreicht?
Ohne diese Möglicheit müßte man in seinem Anwendungsprogramm in jede select Anweisung einzeln die 26 zurückbekommene timestamp characters mit einer selbstgeschriebenen Funktion auf das gewünschte Format transformieren. (Sogar eine SQL scalar Funktion finde ich nicht, die analog der TIMESTAMP_ISO JIS zurückgibt!) Was noch belastender ist: Bei jedem select zu verfolgen, welche Felder überhaupt timestamp type haben.
Mit freundlichen Grüßen aus Budapest
Katalin Varnai
10. Januar 2005 um 17:45 Uhr #2955Hi Katalin,
Du kannst das DATE-Format einstellen, zum Beispiel:
db2 "select char(current date,iso) from sysibm.sysdummy1".
Unterstützt werden ISO, USA, EUR, JIS, LOCAL.
Viele Grüße nach Budapest
Gernot11. Januar 2005 um 7:37 Uhr #3282Das funktioniert aber nur bei DATE und TIME. Leider nicht bei TIMESTAMP. Da gibt es nur ein einziges Format.
Umformatieren kann man das Format allerdings mit der TRANSLATE() Funktion.
z.B:SELECT
TRANSLATE(‚abcd/gh/ef-ij:kl:mn.opqrst‘,
CHAR(CURRENT TIMESTAMP),
‚abcd-ef-gh-ij.kl.mn.opqrst‘)
FROM SYSIBM.SYSDUMMY111. Januar 2005 um 11:15 Uhr #3495"Das funktioniert aber nur bei DATE und TIME. Leider nicht bei TIMESTAMP. Da gibt es nur ein einziges Format. "
Ja, und wie vorsichtig man sein muß, zeigt, dass in der search.cpan.org Seite auch falsche Information steht, nämlich diese:
The default output format for DATE, TIME, and TIMESTAMP is that format which is associated with the country code of the database (LOC format above). You can use the CHAR function and specify an alternate format.
"Umformatieren kann man das Format allerdings mit der TRANSLATE() Funktion.
z.B:SELECT
TRANSLATE(‚abcd/gh/ef-ij:kl:mn.opqrst‘,
CHAR(CURRENT TIMESTAMP),
‚abcd-ef-gh-ij.kl.mn.opqrst‘)
FROM SYSIBM.SYSDUMMY1
"
Sowas kann man natürlich schreiben und in den SELECT Anweisungen anwenden – günstiger wäre natürlich eine allgemeine Umstellung.Danke für die beiden Antworte, die mir zeigten, es hat keinen Sinn mich zu bestreben in die Richtung weiterzuforschen.
Mit freundlichen Grüßen
Ihre Katalin Varnai
P.S. Was bedeutet Kurznachricht bei Ihnen an diesem board? Wie wird sie verwendet?
- AuthorPosts
You must be logged in to reply to this topic.