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

J'ai une chaîne avec un modèle spécifique:

23;chair,red [$3]

c'est à dire, un numéro suivi d'un point-virgule, puis un nom suivi d'un crochet gauche.

En supposant que le point-virgule ; existe toujours et le crochet gauche [ existe toujours dans la chaîne, comment puis-je extraire le texte entre (et non compris) le ; et la [ dans une requête SQL Server? Merci.

source d'informationauteur RJIGO