2009-12-04 6 views

답변

2

이 시도 반환하는 반면 오 2 바이트 문자를 포함하는 문자열, 길이(), (10) 반환한다는 것을 의미 255자를 초과합니다 ". 그럴 수도 있음

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

정말 고마워요, 매력처럼 작동했습니다. – Tim

+0

"너는 이상한 말씨가있어."... 내 하루 벌었 어. – Mindwin

0

확실히, length()*char_length(). http://dev.mysql.com/doc...function_lengthhttp://dev.mysql.com/doc...function_char-length

예를 참조하십시오

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

-

*이 바이트 단위로 측정 str 문자열의 길이를 돌려줍니다. 멀티 바이트 문자는 여러 바이트로 계산됩니다.

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

당신은 이상한 표현이 그 "일부 행이는 CHAR_LENGTH()는 5

+0

감사합니다. 이미 시도했지만 where 절을 사용하여이를 사용하는 방법을 잘 모릅니다. 예제를 찾을 수 없습니다. – Tim

+0

업데이트 된 예제 인 Tim을 사용해보십시오. – Sampson

0

해당 행이 하나의 필드로 구성되어 있지 않으면 찾을 수 없습니다. 문자열 데이터가있는 행의 개별 필드 길이는 length()char_length()입니다.

관련 문제