Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Mit Zahl aus VARCHAR2 Feld rechnen

Alles zur Datenbankentwicklung im Oracle-Umfeld...

Mit Zahl aus VARCHAR2 Feld rechnen

Beitragvon Goldstueck1977 » Mi 31. Jan 2018, 18:23

Hallo zusammen,

ich möchte aus einem VARCHAR(2) Feld aus einem Text/einer Zahl eine Ziffer extrahieren und mit dieser rechnen. Ich habe es unteranderem wie folgt versucht:

    select cast(substr(p.varcharfeld,4,1) as number) * 5

Wert im Feld "p.varcharfeld" = '456987'

    Erwartetes Ergebnis wäre (9*5) = 45

Ich erhalte jedoch immer den Fehler ORA-01722. Hat hier jemand eine Idee?

Um es gleich vorab zu sagen, eine Änderung des Datentyps von VARCHAR(2) auf NUMBER ist nicht möglich, da es in dem Feld auch alphanumerische Werte gibt.

Besten Dank im Voraus für Eure Hilfe/Ideen!
Goldstueck1977
 
Beiträge: 1
Registriert: Mi 31. Jan 2018, 18:18

Re: Mit Zahl aus VARCHAR2 Feld rechnen

Beitragvon Micha » Do 8. Feb 2018, 10:02

Hallo Goldstueck1977,

das kann an folgenden Herausforderung liegen:

- Beim Vergleich von alphanumerischen mit numerischen Werten führt Oracle immer ein implizites TO_NUMBER durch.
- Der implizite Cast TO_NUMBER findet vor der Anwendung des Selects statt und daher knallt es.

Lösungsansatz:
Du musst sicherstellen, dass Du ein Convert kein Cast durchführst.

-
Micha
Micha
 
Beiträge: 129
Registriert: So 3. Nov 2013, 12:13


Zurück zu Oracle

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag
  • String in Zahl umwandeln
    von Maika » So 10. Jul 2016, 18:49
    1 Antworten
    2179 Zugriffe
    Letzter Beitrag von RainerH Neuester Beitrag
    Do 14. Jul 2016, 18:04
    MySQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron
  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: