trebstyle Geschrieben 8. Oktober 2007 Teilen Geschrieben 8. Oktober 2007 hallo zusammen. ich bräuchte eure hilfe bei einer sql abfrage. ich bin auf einer i-series-maschine (oracle-db) unterwegs. mein ziel ist, einen string zu erzeugen, den ich aus vielen feldern einer datenbank mit concat (bzw. !!) zusammensetze. soweit, so gut. der string soll ungefähr so aussehen: 05136911000020307100117120221 um was es mir geht, ist speziell datum und zeit (01.10.07 17:12:02), den rest kann ich einwandfrei erzeugen. _______________071001171202__ in meiner tabelle gibt es u. a. 6 felder für datum (yy, mo, dd) und uhrzeit (hh, mi, ss), die ich eben zu diesem (teil-)string zusammensetzen muss. allerdings sind jetzt sowohl in der monatsspalte, als auch bei tag, stunde, minute, sekunde bei einstelligen werten (1, 2, 3, 4, ... 9) keine führende null dabei, die ich aber benötige. ich hätte bei der ganze sache jetzt spontan folgende syntax verwendet: IF(LENGTH(DD) = 1, CONCAT('0', DD), DD) allerdings meckert mein system und meint, das gleichheitszeichen (=) sei kein gültiger operator. jetzt steh ich da und weiß nicht weiter. hat von euch jemand einen blassen schimmer? danke und schöne grüße, trebstyle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 8. Oktober 2007 Teilen Geschrieben 8. Oktober 2007 Hi, im allgemeinen sollte man ja für ein Datum auch ein DATE Feld verwenden. Für Dein Problem verwendest am besten DECODE Dim EDIT Vergiss DECODE. Formatiere den String direkt so wie Du ich brauchst: to_char(DD,'00') Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
trebstyle Geschrieben 8. Oktober 2007 Autor Teilen Geschrieben 8. Oktober 2007 naja, wem sagst du das... es ist einfach eine datenbank, auf die ein altes programm zugreift. deswegen ist eine änderung nicht drin. trotzdem danke! ich hab übrigens auch noch eine möglichkeit gefunden: right(digits(DD), 2) das thema kann also geschlossen werden! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 8. Oktober 2007 Teilen Geschrieben 8. Oktober 2007 right(digits(DD), 2) Hmm und für welche Datenbank soll das sein? Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.