Hum, pourquoi pas mais...
Je vais donner un exemple tout con, parce que la réponse m'intéresse aussi :
Ma table (fictive) 'joueurs' à les champs suivants 'id', 'password', 'mail', 'login', 'argent', 'village', 'guilde', 'competences'.
Je stocke les infos 'competences' de la manière présenté ici : 150-300-427-1000 pour vie, force, rapidite, fatigue.
Si je veux récupérer la liste décroissante des joueurs qui ont le plus de force, puis-je faire :
"SELECT * FROM joueurs WHERE SUBSTR('competences', 4, 7) ORDER BY SUBSTR('competences', 4, 7) DESC" ?
Sachant que la force peut dépasser 3 caractères, donc mon SUBSTR serait SUBSTR('competences', 4, 8) pour une force de 1500 par exemple.
Du coup, on peut corriger ce problème là en mettant les données de la forme 000150-000300-000427-001000.
Je vois déjà que cette solution est peut-être possible (mise à part cette requête qui est probablement incorrecte) mais sera certainement lourde.
Je pose sûrement mal ma réponse, j'espère que vous comprendrez.
Je vais donner un exemple tout con, parce que la réponse m'intéresse aussi :
Ma table (fictive) 'joueurs' à les champs suivants 'id', 'password', 'mail', 'login', 'argent', 'village', 'guilde', 'competences'.
Je stocke les infos 'competences' de la manière présenté ici : 150-300-427-1000 pour vie, force, rapidite, fatigue.
Si je veux récupérer la liste décroissante des joueurs qui ont le plus de force, puis-je faire :
"SELECT * FROM joueurs WHERE SUBSTR('competences', 4, 7) ORDER BY SUBSTR('competences', 4, 7) DESC" ?
Sachant que la force peut dépasser 3 caractères, donc mon SUBSTR serait SUBSTR('competences', 4, 8) pour une force de 1500 par exemple.
Du coup, on peut corriger ce problème là en mettant les données de la forme 000150-000300-000427-001000.
Je vois déjà que cette solution est peut-être possible (mise à part cette requête qui est probablement incorrecte) mais sera certainement lourde.
Je pose sûrement mal ma réponse, j'espère que vous comprendrez.