Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como selecionar dados específicos entre Cotações ()


isso é Feio , mas eventualmente funcionará:

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

Isto é o que é feito:
  • Pegamos esta string 'jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
  • encontre a primeira ocorrência de " com instr(COLUMN,"""") --> retorna 24
  • pegue a extremidade direita da string com. Portanto, precisamos obter o comprimento da string com len(COLUMN) --> 55 e subtraia a posição do primeiro " (24)
  • precisamos encontrar o segundo " com instr() na string certa, que precisamos criar novamente com right(COLUMN,len(COLUMN)-instr(COLUMN,"""")) e subtraia 1 para o ".