Maison >base de données >tutoriel mysql >Comment diviser et utiliser efficacement les chaînes d'entrée pour les instructions de cas dynamiques ?
Diviser les chaînes d'entrée
Pour diviser les chaînes d'entrée (dates et ensembles), nous pouvons utiliser les techniques suivantes :
Dates (p_dates) : Utilisez la fonction string_to_array() pour créer un tableau de plages de dates à partir de la chaîne de dates. Par exemple :
SELECT string_to_array('2001-01-01to2001-01-05,2001-01-10to2001-01-15', ',')
Ensembles (p_sets) : De même, utilisez la fonction string_to_array() pour diviser la chaîne des ensembles en un tableau de noms d'ensembles. Par exemple :
SELECT string_to_array('s1,s2,s3,s4', ',')
Préparation de l'instruction de cas dynamique
Une fois ces tableaux créés, nous pouvons les utiliser pour générer l'instruction de cas dynamique en utilisant une combinaison d'instructions CASE WHEN et SELECT. Par exemple :
CASE WHEN given_dates BETWEEN date_ranges[1] AND date_ranges[2] THEN set_names[1] WHEN given_dates BETWEEN date_ranges[3] AND date_ranges[4] THEN set_names[2] ... ELSE NULL END
Ici, date_ranges et set_names sont les tableaux créés respectivement à partir de p_dates et p_sets.
Cette instruction de cas dynamique peut ensuite être utilisée pour mettre à jour la colonne set_name en fonction du spécifié plages de dates et noms de set.
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!