관리 메뉴

Data Modeling Evangelist Kaien Kim's Blog

[SQLServer] 데이터의 길이 가져오기 본문

DATA/SQLServer

[SQLServer] 데이터의 길이 가져오기

2009. 12. 21. 16:26

SQL Server에서 컬럼 값의 길이를 가져와야 할 경우, 크게
- 그냥 길이
- byte수
로 구분할 수 있다.

오라클에서는

1) SELECT LENGTH('모델링월드')   FROM DUAL;
2) SELECT LENGTHB('모델링월드') FROM DUAL;
일 경우


1)은 5, 2)는 10을 리턴한다.

이건 이전 부터 알고있었는데, 요걸 SQLServer에서 사용할 일이 생겼다.
열심히 찾아 보았다. ^^;
역시 있었다.

문법도 오라클과 동일하다.

DATALENGTH ( expression )


-인수
expression
임의 데이터 형식의 식입니다.

-반환 값
int

1) SELECT LEN('모델링월드')
2) SELECT DATALENGTH('모델링월드')
일 경우
1)은 5, 2)는 10을 리턴한다.

여기서 주의할 것은 오라클은 문자열 뒤의 공백을 길이 또는 바이트수에 포함시키는 반면
SQLServer는 문자열 뒤의 공백은 포함하지 않는다.

1) SELECT LEN('모델링월드 ')
2) SELECT DATALENGTH('모델링월드 ')

1)일 경우 6이 아닌 5를 리턴한다.(DATALENGTH는 데이터 길이 그대로 11을 리턴한다)