SQL-Abfrage Text zwischen zwei Zeichen eines Attributes?

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
794
Hallo.

Kann man in einer SQL-Abfrage auf ein Attribut eine Zeichenfolge wie in Excel extrahieren?

Beispiel:
Code:
=TEIL(G16;SUCHEN("""";G16;1)+1;SUCHEN("""";G16;SUCHEN("""";G16;1)+1)-SUCHEN("""";G16;1)-1)

Wie würde der Befehl aussehen?
 
Was stehet in Zelle G16?
Kann die Formel noch nicht komplett deuten...
 
hab es mal probiert ...
G16: Test"irgendwas"test ... mit der Formel wird jetzt folgendes ausgegeben: irgendwas
 
  • Gefällt mir
Reaktionen: h00bi
Wenn es um das herausfiltern von Teilinhalten geht, dann einfach. Hab dein Ziel aber irgendwie auch nicht vestanden.

SELECT * FROM table WHERE Column LIKE '%test%';

or

SELECT * FROM table WHERE Contains(Column, "test");
 
@Excelmania Man würde hier vermutlich den ganzen String anhand eines Trennzeichens zerlegen und dann die einzelnen Bestandteile weiterverarbeiten.

Beispiele: Hier
 
Code:
SELECT SUBSTR('Test"irgendwas"test',INSTR('Test"irgendwas"test','"', 1)+1, INSTR('Test"irgendwas"test','"',INSTR('Test"irgendwas"test','"',1)+1)-INSTR('Test"irgendwas"test','"',1)-1)
FROM DUAL;
 
  • Gefällt mir
Reaktionen: h00bi
In TSQL PATINDEX/CHARINDEX und dann mit SUBSTRING.

SQL:
SELECT SubVal = SUBSTRING(Val, PatternStart, PatternLength), *
 FROM (SELECT Val =  'Test"irgendwas"test') V
CROSS APPLY (SELECT PatternStart
                  , PatternLength = CHARINDEX('"', Val, PatternStart) - PatternStart
               FROM (SELECT PatternStart = PATINDEX('%"%"%', V.Val) + 1) A )B
1682346586486.png
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Oelepoeto
Bei Index - irgendwas ist immer zu berücksichtigen, dass CHARINDEX oder PATINDEX auch Mal nichts zurück liefern
 
Guten Morgen.

In der Abfrage bekomme ich immer den Fehler "execute command denied to user 'viewer'@'%' for routine 'xxxx.CHARINDEX'

Code:
PATINDEX('"', artikel.name)

Code:
CHARINDEX('"', artikel.name, 1)

Mache ich in der Abfrage etwas falsch?
 
Das hört sich nach ein Berechtigungsproblem an.. Wenn du das beruflich machst müsstest bei der IT nachfragen, scheinbar darfst du diese Daten nicht abfragen. Die Funktionen selber sollten eigentlich keine Execute-Rechte brauchen..
 
Zurück
Oben