Maison >base de données >tutoriel mysql >Comment puis-je extraire des données spécifiques d'une chaîne délimitée dans T-SQL ?
Diviser des chaînes à l'aide d'un caractère délimiteur dans T-SQL
Cette question répond à la nécessité d'extraire des informations spécifiques d'une longue chaîne stockée dans une table colonne. Le défi réside dans le fractionnement de la chaîne en fonction de certains délimiteurs et l'extraction d'une donnée particulière.
Pour y parvenir en utilisant T-SQL, l'approche suivante peut être utilisée :
Tout d'abord, le CHARINDEX ou la fonction PATINDEX est utilisée pour localiser la position du caractère délimiteur ('|') dans la chaîne.
Ensuite, la fonction STUFF est utilisée pour créez une nouvelle chaîne qui inclut le texte après le caractère délimiteur.
Enfin, la fonction SUBSTRING est utilisée pour extraire le texte souhaité, tel que le "Nom du client" dans cet exemple, en fonction de la position du délimiteur caractère et la longueur de caractères spécifiée.
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
Cette requête exploite la fonction CHARINDEX ou PATINDEX pour trouver la position du "|" caractère dans la colonne "col3", puis crée une nouvelle chaîne qui inclut le texte après le délimiteur à l'aide de la fonction STUFF. Enfin, la fonction SUBSTRING est utilisée pour extraire la valeur « Nom du client » en fonction de la position et de la longueur des caractères.
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!