[MSSQL] 문자열 길이 구하기 (LEN, DATALENGTH)
- 데이터베이스/MSSQL
- 2025. 6. 6.
SQL Server에서 문자열의 길이를 구하기 위해서는 LEN 함수와 DATALENGTH 함수를 사용하면 된다. LEN 함수는 한글이든 영문이든 모든 문자를 글자 단위로 1자씩 계산하며, DATALENGTH 함수는 문자열이 실제로 차지하는 바이트 수를 반환한다. 두 가지 함수를 사용할 때 주의해야 할 부분도 있으니 아래를 참고하면 된다.
목차 |
LEN, DATALENGTH 함수 기본 사용법
SELECT LEN('SQL Server') AS [LEN]
, DATALENGTH('SQL Server') AS [DATALENGTH]
![]() |
LEN('SQL Server') → 10자
LEN 함수는 한글이든 영문이든 모든 문자를 글자 단위로 1자씩 계산한다.
DATALENGTH('SQL Server') → 10바이트
DATALENGTH 함수는 문자열이 실제로 차지하는 바이트 수를 계산한다.
※ ASCII 문자(영문, 숫자, 특수문자) : 1바이트, 유니코드(한글, 일본어, 한자 등) : 2바이트
SELECT LEN('데이터베이스') AS [LEN]
, DATALENGTH('데이터베이스') AS [DATALENGTH]
![]() |
LEN('데이터베이스') → 6자
한글(유니코드 문자)도 1자로 계산되는 것을 확인할 수 있다.
DATALENGTH(' 데이터베이스 ') → 12바이트
한글(유니코드 문자)은 2바이트로 계산되는 것을 확인할 수 있다.
LEN, DATALENGTH 함수 사용 시 주의사항
SELECT LEN('SQL Server') AS result1
, LEN(' SQL Server') AS result2
, LEN('SQL Server ') AS result3
![]() |
문자열의 중간, 앞쪽 공백은 길이에 포함되지만, 문자열의 끝 공백은 길이에 포함되지 않는다는 점에 유의하자.
SELECT DATALENGTH('SQL Server') AS result1
, DATALENGTH(N'SQL Server') AS result2
![]() |
데이터 타입에 따라 VARCHAR는 1바이트, NVARCHAR는 2바이트로 계산될 수 있다는 점에 유의하자.
※ 테이블 칼럼의 데이터 타입이 NVARCHAR인 경우 유의해서 사용