LIKE avec des chiffres ?

Répondre
Franquito
le 27/04/2005 à 22:22
Franquito
Bonsoir à tous ;)

J'aurai voulu savoir s'il était possible d'utiliser LIKE dans une requete SQL mais uniquement pour des numéro ?

par exemple comme 'LIKE AOCB%' mais cette fois ci le % remplacerais une chaine de numéro comme "0315" ou bien "6" voir "12"...

De fait je pourrai selectionner :
AOCB0315
AOCB6
AOCB12

Mais pas :
AOCBSY6

Voyez vous une solution ? [0-9999] comme sous linux ?
zebden
le 27/04/2005 à 22:38
zebden
Utilise les expressions regulieres , ici ca donnerait :

SELECT * FROM `bidulle` WHERE `truc` REGEXP '^AOCB[0-9]+$'

j'ai pas testé mais ca doit passer logiquement :)
zebdinou pour les intimes / Blog : http://www.zebden.fr
Franquito
le 01/05/2005 à 08:42
Franquito
Et est-ce qu'il y aurai moyen de faire l'inverse ? c'est à dire qu'à partir de VDPRSY12, je trouve VDPRSY (on retire les numéros) ?
moogli
le 01/05/2005 à 13:15
moogli
Salut,

c'est tous a fait possible il te faut juste changer le motif de l'expréssion régulière que ta donnée Zebden.
Si tu ne vois pas comment faire, regarde le cours concerné et- un p'tit tour sur ce site devrait pas mal t'aider dans la construction de motif d'expréssions régulières !

smiley
Il en faut peu pour être heureux !!!!!
Franquito
le 02/05/2005 à 10:08
Franquito
Oui bah je vois bien comment ajouter mais pas comment supprimer des chiffres dans une variable :(

Si ya pas moyen simple avec les expressions régulières, je vais passer en revue les caractères un par un, et si c'est un numéro, je supprime :s
zebden
le 02/05/2005 à 10:22
zebden
Mais non !!! beaucoup plus simple les exp reguliere

Imaginons TRUC54120

<?php
$chaine = 'TRUC54120';
$mask = '`([a-zA-Z]+)([0-9]+)`';
$chaine = preg_replace($mask, '$1' , $chaine);

echo $chaine; // retourne TRUC.
?>


Alors evidemment ta chaine doit forcement etre sous la forme lettre puis chiffre (basique quoi). Si tu veux plus complexe , hésite pas.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Franquito
le 02/05/2005 à 11:00
Franquito
J'avais pensé à faire :

$numeros = array("0","1", "2", "3", "4", "5", "6", "7", "8", "9");
$vins = str_replace($numeros, "", $ref);


Mais je pense que je vais mettre ton code, qui doit etre plus rapide :)
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours