yallayalla Geschrieben 7. Juli 2004 Teilen Geschrieben 7. Juli 2004 Hallo! Kleines Problem: Ich habe 5 Variablen und will die Werte in eine neue Variable speichern, die dann noch ins Datumsformat umgewandelt werden soll. x1: 07 x2: 07 x3: 2004 x4: 08 x5: 27 Wie mache ich das am besten (in Oracle PL/SQL).... Umwandeln ins Datumsformat mit to_date(), aber wie speichere ich die Werte der 5 Variablen in eine neue (hintereinander)? mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 7. Juli 2004 Teilen Geschrieben 7. Juli 2004 CONCAT('1','2') oder '1' || '2' || '3' || '...' http://www.hk8.org/old_web/oracle/prog2/ch04_03.htm Punkt 4.3.3 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 7. Juli 2004 Autor Teilen Geschrieben 7. Juli 2004 Hallo! Vielen Dank erstmal, aber: Leider bekomme ich dann das hier: 334/3 PLS-00215: String length constraints must be in range (1 .. 32767) vorgehen: datum date; x varchar; x:='x1'||'x2'||'x3'||'x4'||'x5'; ---fehlermeldung..... datum:=to_date('x','DDMMYYYYHH24MI'); mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 7. Juli 2004 Autor Teilen Geschrieben 7. Juli 2004 Ok, der String wird jetzt richtig zusammengebaut...aber: ORA-01858: a non-numeric character was found where a numeric was expected bei dieser Zeile: datum:=to_date('x1||x2||x3||x4||x5','DDMMYYYYHH24MI'); x1 bis x5 sind nur zahlen. mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 7. Juli 2004 Teilen Geschrieben 7. Juli 2004 Welchen Daten hat denn deine Variable und welchen Datentyp gibt to_date() zurück? @Mods: Sollte der Thread nicht verschoben werden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 7. Juli 2004 Teilen Geschrieben 7. Juli 2004 @Mods: Sollte der Thread nicht verschoben werden? Jo, sollte er. Nur um die Zeit war ich noch nicht am Rechner :floet: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 7. Juli 2004 Autor Teilen Geschrieben 7. Juli 2004 Hallo! Daten x1 bis x5 sind varchar2 und enthalten halt Tag/Monat/jahr/Stunde/Minute. datum ist als date definiert. Das "I" bei MI ist verrutscht...steht aber in meinem Source richtig. mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 7. Juli 2004 Teilen Geschrieben 7. Juli 2004 Probiers dochmal so: DECLARE datum date; BEGIN datum := to_date('x1'||'x2'||'x3'||'x4'||'x5', 'DDMMYYYYHH24MI'); END; Bei mir hats geklappt. Die Fehlermeldung beim ersten Versuch kam übrigens, weil du bei der Deklaration der VARCHAR-Variablen keine Länge angegeben hast. Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 7. Juli 2004 Autor Teilen Geschrieben 7. Juli 2004 Hallo! Danke fuer den Tip mit der Länge! Aber: wo setze ich das Declare? Arbeite hier mit PL/SQL: procedure sp_eingabe( ... ) as datum date; begin datum:=to_date('i_tag||i_monat||i_jahr||i_stunde||i_minute', 'DDMMYYYYHH24MI'); und dann kommt immer: ORA-01858: a non-numeric character was found where a numeric was expected Schon mal Danke fuer den support hier! mfg yallayalla Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 7. Juli 2004 Teilen Geschrieben 7. Juli 2004 Das mit dem DECLARE hat sich erledigt, wenn du ne Prozedur geschrieben hast. Das ist dann vergleichbar mit dem "as". Ich seh grade dass ich aber auch nen Fehler gemacht habe. Wenn du Variablen (in deinem Fall anscheinend i_tag, i_stunde, ...) verknüpfen willst, darfst du überhaupt nicht mit Hochkommas arbeiten: procedure sp_eingabe( ... ) as datum date; begin datum := to_date(i_tag || i_monat || i_jahr || i_stunde || i_min, 'DDMMYYYYHH24MI'); end; Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yallayalla Geschrieben 7. Juli 2004 Autor Teilen Geschrieben 7. Juli 2004 Ho! Yo, die Hochkommas haben den Fehler gebaut...jetzt funzt es! Danke. mfg yallayalla 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.