Bonjour,
est ce qu'il y a un moyen pour faire un split d'une chaine de caractères en fonction d'un caractère donné (un tiret '-' par exemple) avec SQL ?
Version imprimable
Bonjour,
est ce qu'il y a un moyen pour faire un split d'une chaine de caractères en fonction d'un caractère donné (un tiret '-' par exemple) avec SQL ?
pour avoir un bout par ligne ?
ca ne me dérange pas ligne par ligne ou pas, car ce n'est qu'un moyen pour moi pour mettre le résultat dans le where de ma requete. Par exemple, une requete du genre :
moi je veux que le a soit le résultat d'un split du string d'origine.Code:
1
2
3 SELECT * FROM Table where name = a
Bonjour,
si tu veux faire une recherche du type "monchamp de la forme 'a' ou 'b' ou 'c' ou 'd'" :
Code:
1
2
3
4
5
6 <?php $machaine = 'a-b-c-d'; $in_chaine = str_replace('-',',',$machaine); // -> de la forme a,b,c,d // la requete $requete = "SELECT ......... WHERE monchamp IN (".$in_chaine.");"; ?>
Si tu veux des resultats séparés :
Code:
1
2
3
4
5
6
7
8
9 <?php $machaine = 'a-b-c-d'; $bouts_chaine = explode('-',$machaine); // -> array des bouts de chaine // les requetes successives for ($i=0; $i<sizeof($bouts_chaine); $i++) { $requete = "SELECT ......... WHERE monchamp = '".$bouts_chaine[$i]."';"; // ... } ?>
normale, faut le faire une variable le [1]
c'est pas mettre dans ta requete SQL ça...
montre tout ton code