본문 바로가기
TechNical/MS SQL

공백이 포함된 값 찾아 내기

by 강멍멍이 2007. 11. 27.
반응형
다시 정신을 차리고 블로그 질을 하기로 마음 먹었다 =ㅅ=

예전에... 뭔가를 하다가 이런걸 만들었었지..
공백이 포함된 데이터를 찾아 내는 쿼리문이다.

1. 테스트를 할 테이블을 맹근다
create table chk_space(
aa varchar(10))


2. 테스트용 데이터를 넣자
insert into chk_space values('abcdefg')
insert into chk_space values('abc defg')
insert into chk_space values('abcd   efg')
insert into chk_space values(' abcdefg')
insert into chk_space values('abcdefg ')


3. 데이터를 확인 하고
select * from chk_space

자~ 이제 함 찾아 봅시다 ^-^

4. 공백 값을 쌓아 둘 임시 테이블을 생성한다.
create table #temp(
val varchar(10))


5. 쿼리문을 맹글어 봅시다 ~
    요게 돌아 가는 기본 개념은 이렇습니다. 케이군이 워낙 단순해서.. 개념도 무식합니다 -_-;
    row 별로 읽어 와서 replace 함수를 써서 공백을 줄입니다.
    처음 길이와 공백을 없앤 후 길이를 비교해서 다르면 #temp 테이블에 입력 합니다. =ㅠ=

declare @strTemp varchar(200), @sql varchar(200), @a int, @b int
declare string_curs cursor for select aa from chk_space
open string_curs
fetch next from string_curs into @strTemp
while @@FETCH_STATUS = 0
  begin
    set @sql = replace(@strTemp,' ','')
    set @a = datalength(@strTemp)
    set @b = datalength(@sql)
    if @a != @b
       insert into #temp values(@strTemp)
    fetch next string_curs into @strTemp
end
close string_curs
deallocate string_curs


6. 조회를 해봅시다~
select * from #temp

템프 테이블은 세션을 끊으면 자동으로 빠이빠이 랍니다.


 - 주의 사항 CAUTION !!
항상 그렇듯이.. 오타를 조심합시다 -_-;
반응형

댓글