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

Comment extraire cette sous-chaîne spécifique dans SQL Server ?

Combinez le SUBSTRING() , LEFT() , et CHARINDEX() fonctions.

SELECT LEFT(SUBSTRING(YOUR_FIELD,
                      CHARINDEX(';', YOUR_FIELD) + 1, 100),
                      CHARINDEX('[', YOUR_FIELD) - 1)
FROM YOUR_TABLE;

Cela suppose que la longueur de votre champ ne dépassera jamais 100, mais vous pouvez le rendre plus intelligent pour en tenir compte si nécessaire en utilisant le LEN() fonction. Je n'ai pas pris la peine car il y a déjà assez de choses là-dedans, et je n'ai pas d'instance pour tester, donc je regarde juste mes parenthèses, etc.