Requete sql Between

Eléphant du PHP | 291 Messages

23 févr. 2006, 10:20

Bonjour,

J'execute une requete sql avec between and (compris entre...) de la facon suivante :
<?php
	$sql = "SELECT ID_Artistes, Nom_Artistes FROM artistes WHERE Nom_Artistes BETWEEN '0%' AND 'K%' ORDER BY Nom_Artistes ASC";
	$sql1 = "SELECT ID_Artistes, Nom_Artistes FROM artistes WHERE Nom_Artistes BETWEEN 'L%' AND 'Z%' ORDER BY Nom_Artistes ASC";

?>
D'après ce que j'avais compris mon K% et Z% etait compris dans la requete mais en fait non, quand j'execute dans php mya dmin cela n'est effectivement pas executé.

Pouvez vous m'aider ?

D'avance merci
Modifié en dernier par bunk le 23 févr. 2006, 10:44, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 févr. 2006, 10:42

L'instruction between ne s'applique qu'à des valeurs numérique (ou à des caractères, car il s'appuye alors sur les valeurs ascii), mais à ma connaissance on ne peut pas l'utiliser pour retrouver des chaines... :)

Par ailleurs le % pour retrouver une chaine inconnue, ne fonctionne qu'avec LIKE.

Tu peux essayer avec un substring pour ne comparer que le premier caractère (à tester, mais en principe cela devrait fonctionner :))

Code : Tout sélectionner

SUBSTRING(Nom_Artistes, 0, 1) BETWEEN 'L' AND 'Z'

Eléphant du PHP | 291 Messages

23 févr. 2006, 10:44

OK merci pour la réponse en fait je vais faire comme ca (ca fonctionne) :
<?php
	$sql = "SELECT * FROM artistes WHERE Nom_Artistes < 'L' ORDER BY Nom_Artistes ASC";
	$sql1 = "SELECT * FROM artistes WHERE Nom_Artistes >= 'L' ORDER BY Nom_Artistes ASC";

?>
Merci