Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Datenbanken

GELÖST

Einzelne Bausteine aus String auslesen (Oracle 10g)

Mitglied: DerLomi

DerLomi (Level 1) - Jetzt verbinden

10.11.2010, aktualisiert 15:42 Uhr, 7572 Aufrufe, 3 Kommentare

Mahlzeit Leute,

mal wieder nen Prob bei einer Abfrage.

Und zwar geht es darum, das ich aus einem String der in einer Spalte (Beschreibung) der Tabelle steht, die einzelnen Bausteine als einzelne Spalte extrahieren soll.

In dieser Spalte gibt es Strings wie "HPS-Rohr 75x6" oder aber auch "Rundstahl schwarz Rd.30". Ich müsste die Werte, die jeweils nach dem Komma sind, in einzelne Spalten bekommen.

Habe mich mit "Substr" und "instr" versucht, kriege es aber bisslang nur hin, das ich mir von links die Werte ausgeben kann, welche bis zum 1. Komma folgen. Wie komme ich an die anderen Strings, welche zwischen weiteren Kommatas stehen?

Wäre es möglich das die Werte die zwischen den Kommatas stehen aus dem String in einzelne Spalten extrahiert werden können?

Vielleicht hat einer von euch eine Idee oder eine Lösung dafür. Wäre echt dankbar ^^

Ein Dankeschön schonmal im Vorraus

MfG Tobias
Mitglied: BigWim
10.11.2010 um 15:53 Uhr
Eine direkte Antwort kann ich mangels Kenntnis nicht liefern, aber aus anderen Scriptsprachen kenne ich noch Funktionen wie Split (oder Join?), die dein String nach Angabe des Trennzeichens in ein Array umwandeln. Vielleicht hilft es ja weiter.

Ansonsten bleibt nur der Weg über ein Schleife, die Dir den String auseinander nimmt. Dafür gibt es massenhaft Beispiele, die Du ja für Deine Zwecke anpassen kannst.

Wenn gar nichts hilft, poste mal den Codeausschnitt.

Markus
Bitte warten ..
Mitglied: bastla
10.11.2010 um 16:01 Uhr
Hallo DerLomi!

Vielleicht hilft Dir Oracle PL/SQL function to split strings into tokens ...

Das Stichwort "split" hat BigWim ja schon genannt; ev findest Du auch noch Ansätze bei einer Suche nach "tokenize" ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
10.11.2010 um 19:53 Uhr
Moin derLomi,

ergänzend zu BigWim und bastla:

ja, die gute Nachricht ist: solche SPLIT() und JOIN()-Functions gibt es copy&pastebar einige dutzend Male im Netz.
Kannst du stressarm verwenden.

Schlechte Nachrichten sind:
  • es geht nur mit Unterstützung des DBAdmins bzw. sogar nur auf dem Server selbst. Einen Tod musst du sterben - entweder eine PL/SQL-Procedure/ein Package wird eingerichtet oder aber DBweit user-defined-types, die es dir mit nativem SQL ermöglichen. Dann könntest du mit "Table"-Datentypen arbeiten... ist aber auch auf dem Server, an der DB selbst zu tun und einzurichten.

  • Wenn du denn meinetwegen eine Function Split( csvText, delim, x) häätest, die dir aus deinem character separated text das x-te Element rausflöht... und das Ganze in einem dynamischen Statement oder in einem View passiert... dann hast du für jeden gatesverdammten Datensatz -ich schätz mal- 5 zusätzliche Aufrufe einer Funktion Zerlege-Split(), wenn du mit max. 5 "Elementen" in dem csvText-Feld rechnest.
---> da wird dir die DB und auch der DBA einen Vogel zeigen, damit nimmst du allen anderen DB-Benutzern die Luft zum Atmen.

Wenn wenn wenn überhaupt, also wenn sich die Tabelle nicht schon an der Quelle normalisieren lässt, dann mach diese Stringzerlege-Arie einmalig und schreibe die zerbröselten Felder als Einzelfelder in eine neue Tabelle. Aber eben kein Split()/Join()-gehampel bei Ad-Hoc-Abfragen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Select-string zeilenweise in einzelne variablen
gelöst Frage von adm2015Batch & Shell4 Kommentare

Hallo zusammen, wie bekomme ich einen String welcher mehrere Zeilen beinhaltet, Zeilenweise in einzelne Variablen geschrieben? test1.txt test2.txt test3.txt ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten
Frage von ahstaxBatch & Shell6 Kommentare

Moin, ich möchte gerne einen String der Form "41004800", der beliebig lang sein kann, in Zeichenpaare aufteilen, also in ...

Datenbanken
Oracle SQL Developer - Syntaxfrage bei Sonderzeichen im String
gelöst Frage von DrDX2007Datenbanken1 Kommentar

Hallo zusammen, ich habe gerade ein kleines Problemchen, zu dem ich einfach keine Lösung finden kann. Ich möchte mit ...

Batch & Shell
String aus Spalte in csv auslesen und ersetzen
Frage von mIsSteRBatch & Shell4 Kommentare

Hallo, meine aktuelle Frage bezieht sich auf diese Frage von Dienstag. Ich muss nun eine csv auslesen und dort ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 21 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...