Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So wählen Sie bestimmte Daten zwischen Anführungszeichen aus ()

das ist hässlich , wird aber irgendwann funktionieren:

COLUMN ='jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'

left( right(COLUMN,len(COLUMN)-instr(COLUMN,"""")), instr( right(COLUMN,len(COLUMN)-instr(COLUMN,"""")), """") -1 )

--> 123,456,789

Folgendes wird getan:

  • Wir nehmen diese Zeichenfolge 'jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
  • finde das erste Vorkommen von " mit instr(COLUMN,"""") --> gibt 24 zurück
  • Nehmen Sie das rechte Ende der Schnur mit. Daher müssen wir die Länge des Strings mit len(COLUMN) nehmen --> 55 und subtrahiere die Position des ersten " (24)
  • dann müssen wir das zweite " mit instr() finden in den richtigen String, den wir mit right(COLUMN,len(COLUMN)-instr(COLUMN,"""")) neu erstellen müssen und subtrahieren Sie 1 für das ".