Sélectionnez UserID à partir de l'utilisateur; P>
xxx pré> Je veux le résultat de ce type: p>
xxx pré> Le champ
strong> est sur combien Les points sont dans une rangée em>. p> Quel est le SQL pour cela? Merci p> blockQuote>
4 Réponses :
Faites la longueur de l'ID utilisateur, moins la longueur de remplacement des points d'UseID sans rien en général pour cette technique, nous devrions examiner avec soin d'utiliser la longueur ou la longueur de charme, le premier compte la Nombre d'octets qui composent la chaîne, le second le nombre de caractères. Dans ce cas, cela n'aura pas d'importance, mais cela pourrait à l'avenir si vous utilisez cette technique sur les chaînes Unicode où les caractères sont représentés par plus d'un octet P> P>
Un moyen simple consiste à utiliser des remplacements pour compter le nombre de points: Demo H2>
P> P>
Vous pouvez vérifier la longueur avant et après remplacer la DOT
select userid, length(userid) - length(replace(userid,'.','')) from my_table
le "." est un caractère qui peut être compté comme tout autre caractère comme "A", "7", "". Vous devez donc indiquer à MySQL Query quel nom de caractère que vous souhaitez compter à partir d'une chaîne.
Voir le code ci-dessous: EM> P> SELECT
(CHAR_LENGTH(userid) - CHAR_LENGTH(REPLACE(userid, '.', ''))) AS count
FROM table_name;
Est-ce que cela répond à votre question? Compter le nombre d'occurrences d'une chaîne dans un champ de varchar?