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

gelöst Einzelne Bausteine aus String auslesen (Oracle 10g)

Mitglied: DerLomi

DerLomi (Level 1) - Jetzt verbinden

10.11.2010, aktualisiert 15:42 Uhr, 7647 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
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 10 StundenServer-Hardware1 Kommentar

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO Quelle: iLO ist gefährdet

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 19 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung30 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...