sql >> Database >  >> RDS >> Sqlserver

Hoe specifieke gegevens te selecteren tussen aanhalingstekens ()

dit is Lelijk , maar zal uiteindelijk werken:

KOLOM ='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

Dit is wat er wordt gedaan:

  • We nemen deze tekenreeks 'jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
  • zoek het eerste voorkomen van " met instr(COLUMN,"""") --> geeft 24 terug
  • neem het rechteruiteinde van de string met. Daarom moeten we de lengte van de string nemen met len(COLUMN) --> 55 en trek de positie van de eerste af " (24)
  • dan moeten we de tweede " vinden met instr() in de juiste string, die we opnieuw moeten maken met right(COLUMN,len(COLUMN)-instr(COLUMN,"""")) en trek 1 af voor de ".



  1. Aggregatiefunctie om het verschil of de verhouding van twee rijen op volgorde te krijgen

  2. 6 manieren om dubbele rijen in Oracle te selecteren

  3. Wat te doen met een community-URL-stijl zoals Last.FM of Wikipedia?

  4. Het probleem met verloren updates bij gelijktijdige transacties