Maison > base de données > tutoriel mysql > Comment extraire correctement une sous-chaîne entre deux délimiteurs en SQL ?

Comment extraire correctement une sous-chaîne entre deux délimiteurs en SQL ?

Susan Sarandon
Libérer: 2024-12-26 19:27:11
original
797 Les gens l'ont consulté

How to Correctly Extract a Substring Between Two Delimiters in SQL?

Récupération d'une chaîne entre des délimiteurs connus à l'aide de SQL

Dans les scénarios de base de données, il est souvent nécessaire d'extraire une sous-chaîne spécifique d'une chaîne plus grande en fonction de délimiteurs connus. Par exemple, vous devrez peut-être isoler une partie de texte entre deux chaînes données.

Une approche courante consiste à utiliser la fonction SUBSTRING. Cependant, une erreur courante lors de l'utilisation de cette fonction est d'inclure l'index de la première chaîne connue dans le calcul de la longueur de la sous-chaîne.

Pour récupérer correctement une sous-chaîne entre deux délimiteurs, le calcul suivant est requis :

CHARINDEX(second_delimiter, @Text) - CHARINDEX(first_delimiter, @Text) + Length(second_delimiter)
Copier après la connexion

Cette formule garantit que la sous-chaîne récupérée commence par le premier délimiteur et se termine par le deuxième délimiteur.

Par exemple, considérons ce qui suit requête :

SELECT SUBSTRING(@Text, CHARINDEX('the dog', @Text),
CHARINDEX('immediately', @Text) - CHARINDEX('the dog', @Text) + LEN('immediately'))
Copier après la connexion

Dans cette requête, @Text représente la chaîne d'entrée. En spécifiant les chaînes connues "le chien" et "immédiatement", la requête récupère avec précision la sous-chaîne "le chien avait été très méchant et nécessitait une punition sévère immédiatement."

En corrigeant le calcul de la longueur de la sous-chaîne, vous pouvez efficacement extraire des parties spécifiques de texte dans des chaînes plus grandes à l'aide de SQL.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal