-- 문자열 split 하기...
-- INPUT
DECLARE @list_str VARCHAR(512) -- [key]:[value] 형식으로 콤마(,)로 구분. ex) '11:1,22:2'
SET @list_str = '11:1,22:2'
BEGIN
DECLARE @pos INT -- 문자 split용 position
DECLARE @is_continue BIT -- break while 용
DECLARE @one_pair VARCHAR(16) -- '[key]:[value]' 문자열
DECLARE @key INT --
DECLARE @value INT --
SET @is_continue = 1
WHILE @is_continue = 1
BEGIN
IF CHARINDEX(',', @list_str) > 0
BEGIN
SET @one_pair = SUBSTRING(@list_str, 1, CHARINDEX(',', @list_str)-1)
SET @pos = LEN(@one_pair) + 1
SET @list_str = LTRIM(RIGHT(@list_str, LEN(@list_str)- @pos))
END
ELSE
BEGIN
SET @one_pair = @list_str
SET @is_continue = 0
END
IF CHARINDEX(':', @one_pair) > 0
BEGIN
SET @key = SUBSTRING(@one_pair, 1, CHARINDEX(':', @one_pair)-1)
SET @pos = LEN(@key)+1
SET @value = LTRIM(RIGHT(@one_pair, LEN(@one_pair) - @pos))
select @key as 'key', @value as 'value'
END
END
END
'DB' 카테고리의 다른 글
ubuntu에 oracle xe 11g 설치하기 (0) | 2013.08.21 |
---|---|
고속 insert (0) | 2013.04.03 |
플랜 캐시 (실행계획 캐시) (0) | 2012.10.30 |
WITH(NOLOCK) (0) | 2012.09.12 |
암호화 예제 (0) | 2012.04.15 |
백업/복구 (0) | 2012.04.12 |
MSSQL SET 명령(옵션) 모음 (0) | 2011.02.02 |
MSSQL (0) | 2011.01.29 |