sub_title
 MSSQL
제   목 MSSQL - text, ntext 길이(바이트) 구하기
작성자 다자래 등록일 2008-07-21 15:52:33 조회수 42,548

[MSSQL - text, ntext 길이(바이트) 구하기]

컬럼의 데이타 타입이 text 또는 ntext 형일때는 Len() 함수 사용시 다음과 같은 오류가 납니다.

서버: 메시지 8116, 수준 16, 상태 2, 줄 1
len 함수의 1 인수에 대한 인수 데이터 형식 text이(가) 잘못되었습니다.

컬럼의 데이타 타입이 text, ntext 형일때는 DATALENGTH() 함수를 씁니다.

DATALENGTH( expression ): 식을 표시하는 데 사용된 바이트 수를 int 형으로 반환합니다. 괄호안에 expression은 모든 형식의 식을 의미합니다. DataLength() 함수는 가변 길이 데이터를 저장하는 ntext, text, image, nvarchar, varchar, varbinary 등의 데이터 형식에서 유효합니다.

아래의 예제는 Cus_As 테이블의 cus_as 컬럼의 길이가 36byte 보다 크면 substring() 함수를 이용해 36byte 까지 잘라내서 뒤에 ".." 을 붙이고 아니면 cus_as 컬럼의 길이대로 그냥 출력하는 짧은 예제입니다.

SELECT
CASE WHEN DATALENGTH( cus_as ) > 36 THEN substring(cus_as, 1, 36 ) + '..' ELSE cus_as END as asText
FROM Cus_As



작성자: 다자래(mfcchang@naver.com)
웹제작 토탈 커뮤니티 http://www.webmadang.net
 
3
    
 
1
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
9  [MSSQL] 기본키 제약조건의 삭제   member 수확물 0 / 0 29236 2008-07-31
8  SQL 테이블간의 차집합, 교집합 구하기   member 수확물 0 / 0 31606 2008-07-31
7  MSSQL - Outer Join 의 사용   member 다자래 0 / 0 38917 2008-07-30
6  MSSQL - Inner Join 의 사용   member 다자래 3 / 0 35734 2008-07-26
5  MSSQL - text, ntext 길이(바이트) 구하기   member 다자래 3 / 1 42548 2008-07-21
4  MSSQL - GROUP BY 를 이용한 중복 데이타 삭제 이미지   member 다자래 10 / 0 66952 2008-07-14
3  MSSQL - GROUP BY 를 이용한 중복 데이타 체크 이미지   member 다자래 16 / 4 96398 2008-07-12
2  MSSQL 뷰(VIEW) 사용하기 - 기초   member 다자래 8 / 1 54280 2008-07-09
1  MSSQL 참조키(Foreign Key) 설정하기   member 다자래 7 / 0 69681 2008-06-21
write
button [1]