본문 바로가기

SPLIT

(2)
문자열 Split 하기 - 두번째 이야기 서비스 브로커를 조금 더 파야하는데 [던전 스트라이커] 2차 CBT가 코 앞이라 여유가 없군요. 각설하고 바로 오늘의 주제(?)로 넘어가겠습니다. SP에서 배열 형태의 인자를 입력 받을 때 , (comma)와 같은 구분자를 사용한 문자열로 입력 받은 후 SP안에서 테이블로 변환해 사용하는 방법이 종종 사용됩니다. 이 과정에서 UDF를 사용할 수 있는데요. 제가 사용하던 함수는 아래 포스트에서 언급한 바가 있습니다. XML을 사용하여 문자열 Split 하기 (2009/07/10 11:36) - 1 ~ 10,000 까지의 정수가 INSERT되어 있는 Tally를 참조하는 방식의 IF_Split() 함수 - 전달받은 문자열을 REPLACE() 함수를 사용하여 XML 형식으로 변경한 후 XQuery를 사용하는 ..
XML을 사용하여 문자열 Split 하기 문자열을 특정 구분자를 기준으로 split하는 방법에는 여러가지가 있습니다. 제가 최근까지 사용하던 방법은 순번(sequential number)이 들어있는 테이블을 이용한 방법이었습니다. 그래서 제가 디자인한 데이터베이스에는 항상 Tally라는 테이블과 IF_Split이라는 인라인함수가 들어있죠. SELECT TOP 10000 IDENTITY(int, 1, 1) AS n INTO dbo.Tally FROM master.dbo.syscolumns A CROSS JOIN master.dbo.syscolumns B GO ALTER TABLE dbo.Tally ADD CONSTRAINT PK_Tally PRIMARY KEY CLUSTERED (n) GO CREATE FUNCTION dbo.IF_Split ( ..