À l'aide de sous-Chaîne dans MySQL critères
Je suis en train de chercher tous les cas où la 1ère lettre du prénom d'une personne est égal à P.
C'est ce que je suis venu avec, qui ne retourne rien:
$sql="SELECT * FROM people WHERE SUBSTRING(FirstName,0,1) = 'P'";
Suggestions?
Bizarre, j'aurais pensé que cela fonctionne.
Sous-chaîne index 1-origine
Même ici. Je ne suis pas entièrement sûr de savoir pourquoi il ne le fait pas. La COMME méthode fonctionne bien, mais de ce que j'ai lu, il pourrait être moins efficace que l'utilisation de sous-CHAÎNE.
Merci, depuis, j'ai fixé mon réponse précédente 🙂
Sous-chaîne index 1-origine
Même ici. Je ne suis pas entièrement sûr de savoir pourquoi il ne le fait pas. La COMME méthode fonctionne bien, mais de ce que j'ai lu, il pourrait être moins efficace que l'utilisation de sous-CHAÎNE.
Merci, depuis, j'ai fixé mon réponse précédente 🙂
OriginalL'auteur Ian | 2011-03-18
Vous devez vous connecter pour publier un commentaire.
La raison de votre expression ne fonctionne pas, c'est que substring (), les positions sont à base de 1
Essayer un de ces:
ou
que serait
like '%P%'
+1 pour l'enseignement
SUBSTRING
utilise l'index basé sur 1 (pourquoi?)1-origine était plus fréquente dans le passé. 0-l'origine est devenu la norme avec le pointeur de base de l'arithmétique quand il fait sens pour exprimer les indices que décalages à partir d'une adresse de base. Lorsque SQL a été conçu à l'origine (années'70-'80) 1-origine et 0-origine ont été tout aussi répandue.
Merci pour ça, je dois être jeune) 🙂
OriginalL'auteur Jim Garrison