문제

MySQL 테이블에서 특정 열의 가장 긴 길이의 필드는 어떻게 찾을 수 있습니까?

도움이 되었습니까?

해결책 2

mysql 명령 길이 ()

를 사용할 수 있습니다.
<?php 
$q = mysql_query("SELECT LENGTH(yourfield) AS fieldlength FROM yourtable ORDER BY fieldlength DESC LIMIT 1"); 
echo $longestfield = mysql_result($q,0); 
?>
.

다른 팁

MySQL은 "noreferrer"> 문자열 함수 사용할 수 있습니다 :

SELECT LENGTH(col) as my_len FROM my_table ORDER BY my_len DESC LIMIT 1
.

더 펑키 버전 (작동) :

SELECT MAX(LENGTH(col)) FROM my_table
.

CHAR_LENGTH()를 고려하고 싶을 수 있습니다. "Nofollow Noreferrer"> 설명서 :

CHAR_LENGTH() : 인수의 문자 수를 반환합니다

LENGTH() : 문자열의 길이를 바이트 단위로 반환합니다

예를 들어 열에서 UTF-8를 사용할 때 이러한 함수는 다른 값을 반환합니다.

string 열에 설정 한 길이 (예 : varchar)는 실제로 문자 길이입니다.

테이블의 이름을 TBL1이고 열의 이름이 가장 긴 길이 값을 찾으려고하는 col1입니다.

접근법 1 :

select col1, length(col1) from tbl1 order by length(col1) desc limit 1
.

이 값과 값의 길이를 반환합니다.

위의 접근 방식은 단일 행 만 있거나 가장 긴 길이를 갖는 한 행만 검색하려는 경우 가장 좋습니다.가장 긴 길이가있는 여러 행이 있고 모든 것을 검색하려는 경우 두 번째 접근 방식이 가장 좋습니다.

접근 2 :

TBL1에서 COL1, 길이 (COL1)를 선택하십시오. 여기서 길이 (COL1)가 (선택 TBL1에서 최대 (길이 (col1))

이 값과 가장 긴 값을 갖는 모든 행 값의 값을 모두 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top