MySQL-문자열 길이로 데이터를 선택하는 방법


302
SELECT * FROM table ORDER BY string_length(column);

이 작업을 수행하는 MySQL 기능이 string_length있습니까 (물론 대신 )?

답변:


492

당신이 찾고있는 CHAR_LENGTH()문자열의 문자 수를 얻을 수 있습니다.

멀티 바이트 문자셋 LENGTH()의 경우 문자열이 차지하는 바이트 CHAR_LENGTH()수를 제공하고 문자 수를 반환합니다.


139
실제로 CHAR_LENGTH ()가 더 나은 선택이어야합니다. 멀티 바이트 문자 집합의 경우 LENGTH ()는 문자열이 차지하는 바이트 수를 제공하는 반면 CHAR_LENGTH ()는 문자 수를 반환합니다.
András Szepesházi

4
길이 ( 'Ö')를 선택하십시오. 결과 2 !! András Szepesházi의 대답은 정답입니다!
fubo

CHAR_LENGTH문자 수를 반환하면 정수 매개 변수를 보내는 것이 맞 습니까? ejemplo CHAR_LENGTH(12)반환2
DarkFenix



3

문자열 길이를 찾는 데 사용하는 함수는 length다음과 같습니다.

SELECT * FROM table ORDER BY length(column);

1

이 문장을 필터링에 사용했습니다

SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;

필터링하려는 다른 번호로 10을 변경할 수 있습니다.


-2
select * from *tablename* where 1 having length(*fieldname*)=*fieldlength*

예를 들어 고객이 2 자보다 짧은 이름을 가진 항목을 선택하려는 경우.

select * from customer where 1 **having length(name)<2**
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.