Maison > base de données > tutoriel mysql > Comment diviser efficacement les valeurs séparées par des virgules dans SQLite ?

Comment diviser efficacement les valeurs séparées par des virgules dans SQLite ?

Linda Hamilton
Libérer: 2025-01-03 11:00:39
original
931 Les gens l'ont consulté

How to Efficiently Split Comma-Separated Values in SQLite?

Diviser les valeurs séparées par des virgules dans SQLite

Lorsque vous travaillez avec des données contenant des valeurs séparées par des virgules, il peut être nécessaire d'extraire des composants individuels. Dans SQLite, utiliser des fonctions comme Replace() et Trim() pour y parvenir peut s'avérer fastidieux. Voici une approche plus efficace utilisant une expression de table commune (CTE).

Solution :

Étape 1 : Définir le CTE

WITH split(word, csv) AS (
  SELECT '', 'Auto,A,1234444'||','
  UNION ALL SELECT
    substr(csv, 0, instr(csv, ',')),
    substr(csv, instr(csv, ',') + 1)
  FROM split
  WHERE csv != ''
)
Copier après la connexion
  • SELECT : initialise le mot et le csv colonnes.
  • UNION ALL : divise de manière récursive les valeurs csv par des virgules.
  • WHERE csv != '' : termine la récursion lorsqu'il n'y a plus de valeurs à diviser.

Étape 2 : Extrayez le Valeurs

SELECT word FROM split WHERE word!='';
Copier après la connexion
  • Filtre les première et dernière lignes (valeurs factices/terminales).
  • Extrait les valeurs divisées dans la colonne de mots.

Sortie :

Auto
A
1234444
Copier après la connexion

Cette solution offre un moyen simple et efficace de diviser valeurs séparées par des virgules dans SQLite, même lorsque la longueur des chaînes varie.

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