{MySQL} Trier en fonction du 1er caractère

Résolu/Fermé
epoulos Messages postés 85 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 16 décembre 2011 - 15 juil. 2009 à 14:05
 le père - 16 juil. 2009 à 09:09
Bonjour,

J'essaie de faire une requête Mysql dans un script PHP qui me sélectionne les enregistrements dont le libellé commencent par un chiffre. J'ai déjà essayer ceci qui marche :

SELECT * FROM Table WHERE Libelle LIKE '1%' OR Libelle LIKE '2%'OR Libelle LIKE '3%' OR Libelle LIKE '4%' OR Libelle LIKE '5%' OR Libelle LIKE '6%' OR Libelle LIKE '7%' OR Libelle LIKE '8%' OR Libelle LIKE '9%'


Vu que c'est un critère que je veux rajouter à une requête existante, personne ne saurait une version simplifiée (plus courte) du type :

SELECT * FROM Table WHERE Libelle LIKE '0 to 9'%
ou
SELECT * FROM Table WHERE Libelle{0} LIKE '0 to 9'
(Ces deux syntaxes ne marchent pas bien évidement).

Merci d'avance
A voir également:

3 réponses

Bonjour

SELECT * FROM table WHERE LEFT(Libelle,1)>='0' AND LEFT(Libelle,1)<='9'
1
petite remarque : '0' et '9' sont des textes car ils sont entre apostrophes : il s'agit donc bien d'une comparaison entre deux textes. Rien de bizarre. S'il avait fallu comparer des nombres, il aurait fallu écrire 0 et 9 sans apostrophes.
De toutes manières, dans de nombreux cas, mysql fait lui-même la conversion texte <-> nombre en fonction du contexte.
1
epoulos Messages postés 85 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 16 décembre 2011 493
15 juil. 2009 à 15:08
Merci le père ça marche. Bonne journée.

[EDIT] : En faite le champ Libelle est de type "text" mais apparemment la comparaison avec les chiffres ne pose aucun problème... Bizarre mais What else !
0