2009-12-04 3 views
0

Je crois qu'il existe une fonction que je peux utiliser pour déterminer la longueur de la chaîne, mais je ne la trouve pas sur Google. Ce que je veux, c'est toutes les lignes supérieures à 255 caractères. Quelqu'un peut-il s'il vous plaît jeter un peu de lumière?Comment trouver la longueur de la chaîne dans un champ?

Répondre

2

Essayez ceci:

select * 
from table 
where length(somefield) > 255; 

Vous avez le libellé étrange que « certains rangée est supérieur à 255 caractères ". Cela peut signifier

select * 
from table 
where length(somefield1) + length(somefield2) + length(somefield3) > 255; 
+0

Merci beaucoup, a travaillé comme un charme. – Tim

+0

"vous avez les mots étranges" ... gagné ma journée. – Mindwin

0

Bien sûr, length()*, et char_length(). Voir http://dev.mysql.com/doc...function_length et http://dev.mysql.com/doc...function_char-length

Exemple:

SELECT name, email 
    FROM subscribers 
    WHERE (char_length(name) > 5) 
    LIMIT 1 

-

* Renvoie la longueur de la chaîne str, mesurée en octets. Un caractère multi-octets compte comme plusieurs octets. Cela signifie que pour une chaîne contenant cinq caractères à deux octets, length() retourne 10, alors que CHAR_LENGTH() 5.

+0

Merci. J'ai déjà essayé mais je ne sais pas trop comment l'utiliser avec une clause where et je ne trouve pas d'exemple. – Tim

+0

Essayez l'exemple mis à jour, Tim. – Sampson

0

Vous ne pouvez pas trouver la longueur d'une ligne (sauf si cette ligne est constituée d'un seul champ). Vous pouvez trouver la longueur des champs individuels dans une rangée qui ont des données de chaîne avec length() et char_length().

Questions connexes