본문 바로가기

프로그래밍/MSSQL

[MSSQL] LEN / DATALENGTH (문자열의 문자 수 / 바이트 수)

반응형

 

 

 

LEN

 

- 후행 공백을 제외하고 지정된 문자열 식의 문자 수를 반환

 

 

DATALENGTH

 

- 식을 표시하는 데 사용된 바이트 수를 반환

 

 

 

 

 

1. 선행 공백, 후행 공백

 

SELECT
	LEN('ABC ') AS 'len',
	LEN(' ABC') AS 'len',
	DATALENGTH('ABC ') AS 'datalength',
	DATALENGTH(' ABC') AS 'datalength'

 

 

 

 

 

 

2. 한글

 

- 일반 문자형은 문자당 1바이트의 저장 공간 사용

 

- 유니코드는 문자당 2바이트의 저장 공간 사용

 

SELECT
	LEN('꽁쥐') AS 'len',
	DATALENGTH('꽁쥐') AS 'datalength'

 

 

 

 

 

 

3. NULL

 

SELECT
	LEN(NULL) AS 'len',
	DATALENGTH(NULL) AS 'datalength'

 

 

 

 

 

 

4. 칼럼 데이터 형식에 따른 결과

 

- 값은 모두 'ggmouse'을 가진다.

 

- 각 데이터 형식의 길이는 모두 25다. varchar(25), nvarchar(25), char(25), nchar(25)

 

 

4-1. varchar

 

SELECT
	col_varchar,
	LEN(col_varchar) AS 'len',
	DATALENGTH(col_varchar) AS 'datalength'
FROM table_length

 

 

 

4-2. nvarchar

 

SELECT
	col_nvarchar,
	LEN(col_nvarchar) AS 'len',
	DATALENGTH(col_nvarchar) AS 'datalength'
FROM table_length

 

 

 

4-3. char

 

SELECT
	col_char,
	LEN(col_char) AS 'len',
	DATALENGTH(col_char) AS 'datalength'
FROM table_length

 

 

 

 

4-4. nchar

 

SELECT
	col_nchar,
	LEN(col_nchar) AS 'len',
	DATALENGTH(col_nchar) AS' datalength'
FROM table_length

 

 

 

 

 

 

반응형