J'ai un peu de problèmes avec cette requête et Google n'est pas mon ami aujourd'hui
I Tous les résultats d'une table contenant une ou plusieurs lettres majuscules. Quelque chose comme ceci: p> Quelqu'un sait une solution facile pour cela? P> Merci! P> P>
5 Réponses :
Je pense que la fonction de chaîne RLIM peut aider. Nous pouvons utiliser REGEXP [A-Z] pour tester la chaîne pour les lettres majuscules. P>
Essayez
SELECT *
FROM personal_urls
WHERE CAST(vanity_url AS BINARY) RLIKE '[A-Z]';
Qui retourne tout ce qui contient [A-ZA-Z]. Pour une raison quelconque, le regexp n'est pas sensible à la casse par défaut. Avec Regexp binaire, cela fonctionne. Merci quand même!
Le regexp n'est pas sensible à la casse car vous utilisez une assiette insensible à la casse
Vous pouvez essayer d'essayer
J'ai testé cela et cela donne uniquement des résultats pour des champs complètement hauts sur la hausse. Mais j'avais besoin qui contient un ou plusieurs ci-dessus.
@Michael: Droite. J'ai mis à jour votre question pour (une ou plusieurs) lettres majuscules.
@MIACHEL: Rignes binaires donnera des résultats similaires à Regexp binaires
J'ai trouvé la réponse moi-même.
Je sais que c'est vieux, mais je l'ai couru aujourd'hui, je vais donc laisser cela ici pour que quiconque vient de google.
Vous pouvez simplement comparer chaque enregistrement à la version minuscule de lui-même. La seule subtilité est que la comparaison de chaînes ordinaire n'est pas sensible à la casse si vous utilisez une collision insensible à une casse (que vous êtes probablement si vous posez cette question). Comparaison des valeurs en tant que binaire avec le mot-clé code> code> p>
SELECT * FROM personal_urls WHERE vanity_urls != BINARY LOWER(vanity_urls)