본문 바로가기

개발/데이터베이스 및 테이블 만들기

테이블의 컬럼 속성(TrimTrailingBlanks) 바꾸기

728x90

TrimTrailingBlanks

테이블의 컬럼 속성 중 TrimTrailingBlanks 옵션을 수정할 경우가 생깁니다.

이 경우는 매우 드문일이기는 하지만 Application에서 사용을 원하는 경우가 종종있습니다.

이를 위해 스크립트를 제공합니다.

 

TrimTrailingBlanks 속성이란?

속성값이 no일 경우에는 가장 오른쪽 빈칸이 없이 데이터가 들어가고, yes일 경우 사용자가 넣은 그대로 빈칸을 포함해서 값을 저장하게 된다.

 

테스트를 해보도록 하겠습니다. "Trimmer"는 값에 맨 끝에 스페이스 한칸을 추가로 넣습니다.

SET ANSI_PADDING OFF
go
CREATE TABLE trimtrailer(a varchar(12) NOT NULL)
go
INSERT trimtrailer(a) VALUES ('Trimmer ')
go
SET ANSI_PADDING ON
go
ALTER TABLE trimtrailer ALTER COLUMN a varchar(12) NOT NULL
go
INSERT trimtrailer(a) VALUES ('Trimmer ')
go
SELECT '<' + a + '>' FROM trimtrailer
go
DROP TABLE trimtrailer

 

위의 쿼리의 결과값입니다. 자세히 보면 ">" 앞에 한칸이 비워져 있고 다른 하나는 비워져 있지 않습니다.

ANSI_PADDING OFF로 세팅하고 테이블을 생성하면 TrimTrailingBlanks 가 No로 생성됩니다.

SET ANSI_PADDING OFF
GO

CREATE TABLE ONE (A VARCHAR(50) NULL)
GO

SP_HELP ONE
GO

테이블의 TrimTrailingBlanks 속성값을 변경하려고 합니다.

-- ANSI PADDING ON 으로 설정하고 컬럼을 수정하면, 
-- TrimTrailingBlanks 가 No로 설정된다.

SET ANSI_PADDING ON
GO

ALTER TABLE ONE ALTER COLUMN A VARCHAR(50)  NULL
GO

SP_HELP ONE

 

위와 같이 ANSI PADDING ON으로 설정하고

테이블의 컬럼 속성을 변경하면 TrimTrailingBlanks 의 속성이 Yes->No로 바뀌게 됩니다.

 

728x90