문자열 바이트수로 자르기(LEN 함수와 DATALENGTH 함수)

LEN 함수는 자리수를, DATALENGTH 함수는 바이트수를 반환

1. SELECT LEN('홍길동'), DATALENGTH('홍길동'), LEN('ABCD'), DATALENGTH('ABCD')
결과값
 3 6 4 4



2. 문자열을 바이트단위로 잘라 쓸 경우
SELECT SUBSTRING(CONVERT(TEXT, '홍길동'), 1, 4),
SUBSTRING(CONVERT(TEXT, 'ABCD'), 1, 4)
결과값
 홍길  ABCD


3. 실사용
문자열을 바이트 단위로 세고, 특정 바이트 수를 넘어가면 '...' 붙여서 출력하는 쿼리의 일부분
CASE
WHEN DATALENGTH(cont)>32
THEN SUBSTRING(CONVERT(TEXT,cont),1,32)+'...'
Previous
Next Post »