Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment sélectionner des données spécifiques entre Quotes ()

c'est Moche , mais finira par fonctionner :

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

Voici ce qui est fait :

  • Nous prenons cette chaîne 'jksjdksls#$#[email protected]@kskjfjf,"123,456,789" lsnslkdswfnslsjfls'
  • trouver la première occurrence de " avec instr(COLUMN,"""") --> renvoie 24
  • prenez l'extrémité droite de la ficelle avec. Par conséquent, nous devons prendre la longueur de la chaîne avec len(COLUMN) --> 55 et soustraire la position du premier " (24)
  • puis nous devons trouver le deuxième " avec instr() dans la chaîne de droite, que nous devons recréer avec right(COLUMN,len(COLUMN)-instr(COLUMN,"""")) et soustrayez 1 pour le ".