[sql] SQL Server에서 VARCHAR 열의 최대 길이 검색

VARCHARSQL Server 테이블의 특정 열에서 가장 긴 항목을 찾고 싶습니다 .

예를 들면 다음과 같습니다.

ID = INT IDENTITY
DESC = VARCHAR(5000)

ID | Desc
---|-----
1  | a
2  | aaa
3  | aa

3을 반환하는 SQL은 무엇입니까? 가장 긴 값은 3 자이므로?



답변

설명 열에서 길이 및 최대에 대한 내장 함수를 사용하십시오.

SELECT MAX(LEN(DESC)) FROM table_name;

테이블이 매우 크면 성능 문제가있을 수 있습니다.


답변

에 대한 MySQL의 길이는 렌하지

SELECT MAX(LENGTH(Desc)) FROM table_name


답변

조심해!! 공백이있는 경우 T-SQL의 LEN 메서드에서 고려되지 않습니다. 이 속임수를 사용하지 마십시오.

select max(datalength(Desc)) from table_name


답변

Oracle의 경우 LEN 대신 LENGTH입니다.

SELECT MAX(LENGTH(Desc)) FROM table_name

또한 DESC는 예약어입니다. 많은 예약어가 많은 상황에서 열 이름에 대해 여전히 작동하지만 그렇게하는 것은 좋지 않으며 일부 상황에서 문제를 일으킬 수 있습니다. 이유 때문에 예약되어 있습니다.

Desc라는 단어가 단지 예로 사용 되었다면 모든 사람이 그것을 깨닫지는 않을 것이지만 많은 사람들은 그것이 Descending에 대한 예약어라는 것을 깨닫게 될 것입니다. 개인적으로 저는 이것을 사용하여 시작한 다음 내가 가진 모든 것이 예약어 였기 때문에 열 이름이 어디로 갔는지 알아 내려고했습니다. 알아내는 데 오래 걸리지 않았지만 실제 열 이름을 대체 할 항목을 결정할 때이를 염두에 두십시오.


답변

테이블의 최대 레코드 수를 제공합니다.

select max(len(Description))from Table_Name

더 많은 수의 기록 제공

select Description from Table_Name group by Description having max(len(Description)) >27

희망은 누군가를 돕습니다.


답변

SELECT MAX(LEN(Desc)) as MaxLen FROM table


답변

SQL Server (SSMS)의 경우

select MAX(LEN(ColumnName)) from table_name

이것은 문자 수를 반환합니다.

 select MAX(DATALENGTH(ColumnName)) from table_name

이것은 사용 / 필수 바이트 수를 반환합니다.

어떤 사람이 varchar를 사용하면 DATALENGTH. 자세한 내용은