Requête pour sélectionner les chaînes de fin avec un certain caractère
J'ai une colonne qui contient les chaînes de caractères comme:
aaa_1
aaa_11
J'ai besoin de chaînes de requête, qui se termine avec _1
. J'ai essayé le suivant:
sélectionnez le col de la table où le col comme %_1
;
Mais la requête me donne les chaînes de caractères qui se termine par _1
et _11
. Comment puis-je corriger cela ?
%_1
ne vous donnera pas%_11
, si%_1%
serait.- comme %_1 devrait revenir juste le premier, comme %_1% devrait retourner à la fois. La base de données que vous utilisez?
- Vous pouvez également faire de
WHERE RIGHT(the_column, 2) = '_1'
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
caractère
_
est un jolly, comme %, mais il ne correspond qu'à un seul caractère, de sorte que vous avez à s'échapper avec\
Voir ici: http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
Vous aurez envie d'utiliser quelque chose de plus substring liés.
Essayer une clause where comme:
Vous devez échapper à
%
et_
par l'ajout de barre oblique inverse\
comme ils sont des jokers dans mysql:http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html
Beaucoup de ces ramasser des choses comme
%_12
ou%_111121
, etc. Assurez-vous de tester différents cas pour être sûr que cesSELECT
états sont en vous donnant le bon sous-ensemble.