Diviser des chaînes à l'aide de délimiteurs dans T-SQL
Dans T-SQL, l'extraction d'informations spécifiques à partir de chaînes longues peut être obtenue en divisant la chaîne en utilisant des caractères délimiteurs. Cette technique s'avère particulièrement utile lorsqu'il s'agit de données complexes et structurées.
Exemple de scénario
Considérons un tableau avec une colonne contenant une chaîne avec plusieurs paires clé-valeur séparées par caractères barre verticale (|) et égal (=). Le but est de récupérer uniquement la valeur spécifique associée au "Nom du client".
Solution utilisant les fonctions SUBSTRING et STUFF
Pour extraire la valeur souhaitée, nous pouvons utiliser un combinaison des fonctions SUBSTRING et STUFF :
Select col1, col2, LTRIM(RTRIM(SUBSTRING( STUFF(col3, CHARINDEX('|', col3, PATINDEX('%|Client Name =%', col3) + 14), 1000, ''), PATINDEX('%|Client Name =%', col3) + 14, 1000))) col3 from Table01
Répartition des Solution
La requête utilise les étapes suivantes :
Considérations relatives aux performances
Bien que CharIndex et PatIndex puissent être utilisés pour identification du délimiteur, les tests de performance indiquent qu'ils donnent des résultats similaires. Le choix entre eux est donc souvent préférentiel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!