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 ?

Comment puis-je extraire des données spécifiques d'une chaîne délimitée dans T-SQL ?

DDD
DDDoriginal
2024-12-21 07:28:14431parcourir

How Can I Extract Specific Data from a Delimited String in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn