Program Tip

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

programtip 2020. 10. 25. 12:46
반응형

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. 자세한 내용은


SELECT TOP 1 column_name, LEN(column_name) AS Lenght FROM table_name ORDER BY LEN(column_name) DESC

예를 들어 테이블의 행에있는 열의 길이가 다른 어떤 행보다 긴 이유를 알아 내기 위해 문제를 해결하는 경우 가장 긴 길이를 가진 해당 열이있는 행을 여러 번 식별하려고합니다. 이 쿼리는 행을 식별하기 위해 행에 식별자를 나열하는 옵션을 제공합니다.

select ID, [description], len([description]) as descriptionlength
FROM [database1].[dbo].[table1]
where len([description]) = 
 (select max(len([description]))
  FROM [database1].[dbo].[table1]

참고 URL : https://stackoverflow.com/questions/9592287/retrieve-the-maximum-length-of-a-varchar-column-in-sql-server

반응형