sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man väljer specifik data mellan offerter ()

det här är fult , men kommer så småningom att fungera:

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

Detta är vad som görs:

  • Vi tar den här strängen 'jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
  • hitta den första förekomsten av " med instr(COLUMN,"""") --> returnerar 24
  • ta den högra änden av strängen med. Därför måste vi ta längden på strängen med len(COLUMN) --> 55 och subtrahera positionen för den första " (24)
  • då måste vi hitta den andra " med instr() i den högra strängen, som vi måste skapa igen med right(COLUMN,len(COLUMN)-instr(COLUMN,"""")) och subtrahera 1 för ".



  1. MariaDB JSON-funktioner

  2. Geometrikolumn:STGeomFromText och SRID (vad är en SRID?)

  3. Lägg till dagar Oracle SQL

  4. Pivot okänt kolumninnehåll