sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo seleccionar datos específicos entre Cotizaciones ()

esto es feo , pero eventualmente funcionará:

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

Esto es lo que se hace:

  • Tomamos esta cadena 'jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
  • busca la primera aparición de " con instr(COLUMN,"""") --> devuelve 24
  • tome el extremo derecho de la cuerda con. Por lo tanto, debemos tomar la longitud de la cadena con len(COLUMN) --> 55 y restamos la posición del primero " (24)
  • entonces necesitamos encontrar el segundo " con instr() en la cadena correcta, que debemos crear de nuevo con right(COLUMN,len(COLUMN)-instr(COLUMN,"""")) y reste 1 para el ".