2012-01-19 3 views
1

특정 열의 문자열 길이를 기반으로 mysql 테이블을 쿼리하려고합니다. 나는 mysql이 LENGTH()라는 함수를 가지고 있지만 문자열의 길이를 리턴한다는 것을 알고있다. LENGTH() 함수의 결과에 따라 데이터를 가져올 수 있어야합니다.열의 문자열 길이를 기반으로 한 mysql 쿼리

예 : 작동하지 않습니다 물론

SELECT * table WHERE LENGTH(word) = 6 

. http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function%5Flength을 통해 읽었지만 나에게 도움이되는 것을 찾을 수 없습니다.

예이 작업을 수행하기 위해 PhP에서 뭔가를 만들 수 있지만 쿼리 수준에서 수행하려고합니다.

어떤 도움이 필요합니까?

답변

4

시도 : 나는 당신이 쿼리 SELECT * FROM tableName WHERE LENGTH(word) = 6;를 사용하고 싶었 생각

SELECT * 
    FROM table 
    WHERE LENGTH(RTRIM(word)) = 6 
+1

'LENGTH()'대신'CHAR_LENGTH()'함수를 사용하면 바이트 대신 문자를 세는 것이 좋습니다. –

+0

완벽하게 작동했습니다. 궁극적으로 단어에서 "문자열 길이", "가능한 문자"및 "문자 포함"을 기반으로 결과를 가져올 쿼리 문을 만들고 있습니다. 나는 지금까지 처음 2 개를 가지고있다. – user1130861

0

합니다 (word이 컬럼의 이름 tableName에 있다고 가정).

큰 테이블에서는 매우 불행한 해결책이므로 새 열을 만들고 UPDATE tableName SET wordLength = LENGTH(word)을 사용해야합니다.

관련 문제