Ich habe eine Spalte, die Daten wie dies mit:Ich möchte eine Zeichenfolge extrahieren vor und nach einem bestimmten Vorkommen eines bestimmten Zeichens in SQL
/hey[my]/file/exec[jhwwdfbfjuneinfcvdkvnkdvn]
Ich möchte eine SQL-Abfrage schreiben, nur zu holen " Datei "aus dieser Spalte. Ich möchte die Zeichenfolge nach dem 3. Vorkommen von '/' und vor dem zweiten Vorkommen von '/' Zeichen trimmen. Datei-String ist dynamisch, für jeden Datensatz ist der Dateiname unterschiedlich und kann daher nicht verwendet werden.
SELECT SUBSTRING(col, LEN(LEFT(col, CHARINDEX ('/', col))) + 1, LEN(col) - LEN(LEFT(col, CHARINDEX ('/', col))) - LEN(RIGHT(col, LEN(col) - CHARINDEX ('/', col))) - 1);
Ergebnis - LINE 1: SELECT SUBSTRING(s.value, LEN(LEFT(s.value, charindex ('/', ... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Datentyp s.value ist Text. Ich verwende diese Abfrage in Postgresql-Datenbank.
Ich weiß nicht, wie Sie das Auftreten in SQL-Abfrage geben.
Bitte verwenden Sie keine Tags, die nicht auf Ihre Frage zutreffen. Ich habe die Datenbank-Tags entfernt, da unklar ist, welche Datenbank Sie tatsächlich verwenden. Bitte fügen Sie das Tag * nur * die Datenbank, die Sie tatsächlich verwenden, hinzu –
Gut! Wenn du das machst, wenn du auf irgendein Problem gestoßen bist, komm zurück und fühle dich frei zu fragen! –
Zeigen Sie uns db Schema, Beispieldaten, aktuelle und erwartete Ausgabe. \t Bitte lesen Sie [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t Und hier ist ein großartiger Ort, um [** START **] (http://spaghettiba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/) um zu erfahren, wie Sie die Qualität Ihrer Fragen verbessern und bessere Antworten erhalten. –