Der SQL-Ansicht SUBSTRING und CHARINDEX
Ich habe eine Abfrage in SQL 2008
SELECT [orde_reference],
SUBSTRING([orde_reference],
CHARINDEX('/', [orde_reference]) + 1,
LEN([orde_reference])) AS batch
FROM Orders
Dass die Rendite der folgenden
orde_reference: 27777/2012/1
batch: 2012/1
Aber ich brauche den Stapel, um nur die Zeichen nach dem letzten /(es gibt immer 2 x '/' in der varchar
orde_reference: 27777/2012/1
batch: 1
Jede mögliche Hilfe würde geschätzt.
Cheers
Mim
Verwenden Sie die UMGEKEHRTE wie in meiner Antwort.
InformationsquelleAutor ScottyM | 2013-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
Beispiel-Ausgabe:
Hier ist SQLFiddle demo
Ich bin froh, dass ich helfen konnte 🙂 Wenn es war das, was Sie suchen, bitte, betrachten Sie auf akzeptieren die Antwort.
InformationsquelleAutor peterm
REVERSE zweimal 😉
InformationsquelleAutor Serge
Da gibt es immer 2
/
übergeben Sie den optionalen Dritten argument, CHARINDEX
(start_location
) zu sagen, dass es zu Beginn der Suche nach der ersten.Würden Sie besser speichern diese Komponenten jedoch in separaten Spalten.
Irrelevant aber. In diesem Fall ist der OP in der Analyse eine
orde_reference
mit einem gut definierten Struktur. Der batch wird der Punkt 2. Wenn die Struktur zu ändern, es gibt keinen besonderen Grund anzunehmen, dass die batch Nummer wäre noch der Letzte Punkt.InformationsquelleAutor Martin Smith