MySQL - Comment sélectionner les données par longueur de la chaîne
-
18-09-2019 - |
Question
SELECT * FROM table ORDER BY string_length(column);
Y at-il une fonction MySQL pour le faire (bien sûr au lieu de string_length
)?
La solution
Vous cherchez CHAR_LENGTH()
pour obtenir le nombre de caractères dans une chaîne.
Pour les jeux de caractères multi-octets LENGTH()
vous donnera le nombre d'octets de la chaîne occupe, tandis que CHAR_LENGTH()
retourne le nombre de caractères.
Autres conseils
select * from table order by length(column);
Documentation sur la fonction de longueur (), ainsi que toutes les autres fonctions de chaîne, est disponible ici .
Avoir un regard sur documentation MySQL pour les fonctions de chaîne, nous pouvons utiliser aussi bien CHAR_LENGTH()
et CHARACTER_LENGTH()
.
La fonction que j'utilise pour trouver la longueur de la chaîne est length
, utilisé comme suit:
SELECT * FROM table ORDER BY length(column);
J'ai utilisé cette phrase pour filtrer
SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;
vous pouvez changer 10 pour un autre numéro que vous souhaitez filtrer.
select * from tablename où une longueur ayant ( nomchamp ) = fieldlength
Exemple si vous voulez choisir parmi les clients entrys avec un nom plus court puis 2 caractères.
select * from client où 1 ayant une longueur (nom) <2