Oracle 8, SQL: RTRIM für string-manipulation funktioniert nicht wie erwartet
Oracle 8 SQL: ich habe Daten wie "VTR 564-31 /V16 H12 W08 E19 L14", von denen ich trimmen wollen, der zweite Teil => "VTR 564-31"
Laut diese website ich kann verwenden Sie die rtrim-Funktion
rtrim('123000', '0'); zurückgeben würde
'123'
wie dies funktioniert, aber angepasst an mein use-case -, das folgende man nicht trimmen überhaupt? Muss ich zu entkommen den besonderen Charakter???
rtrim('VTR 564-31 /V16 H12 W08 E19 L14',' /')
Du musst angemeldet sein, um einen Kommentar abzugeben.
RTRIM entfernt die angegebenen Zeichen im zweiten parameter vom Ende der angegebenen Zeichenfolge in der ersten. Da das Letzte Zeichen von 'VTR 564-31 /V16 H12 W08 E19 L14' ist eine '4', die ist nicht angegeben, im zweiten parameter ' /', da gibt es nichts zu trimmen.
Sieht es aus wie Sie denken, es sucht nach dem ersten vorkommen von ' /' in der ersten saite und entfernt dort alles auf, aber das ist nicht das, was es tut.
Beispiel:
RTRIM entfernt alle As und Bs aus der Ende der Zeichenfolge.
Wahrscheinlich das, was Sie eigentlich wollen, ist:
D. H. mit INSTR suchen, um die position des " /" und dann SUBSTR zu bekommen, nur der Teil von "yourstring" vor.
Was Sie wollen, ist etwas wie:
Die INSTR-Funktion sucht das '/' in deinem string mit dem Wert, der Funktion SUBSTR extrahiert die Zeichen vom Anfang der Zeichenfolge das Zeichen unmittelbar vor dem '/' befindet sich die von INSTR, während die RTRIM entfernt alle Leerzeichen, die stattgefunden hatte, bevor der '/'