Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Werte von 2 Variablen in 1 Variable kopieren

Empfohlene Antworten

Veröffentlicht

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

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

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

@Mods: Sollte der Thread nicht verschoben werden?

Jo, sollte er. Nur um die Zeit war ich noch nicht am Rechner ;) :floet:

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

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

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

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

Ho!

Yo, die Hochkommas haben den Fehler gebaut...jetzt funzt es! Danke.

mfg

yallayalla

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.