set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/*
사용예제
Declare @aryString varchar(8000)
Declare @G varchar(1000)
Declare @Idx int
Set @aryString = '1,2,3,4,5,6,'
Set @Idx = CharIndex(',', @aryString)
While 0 < @Idx
Begin
Set @G = dbo.MakeArray(@aryString,'S',',')
Set @aryString = dbo.MakeArray(@aryString,'F',',')
--업무 처리 로직
Print @G
Set @Idx = CharIndex(',', @aryString)
End
*/
ALTER Function [dbo].[MakeArray](@FullStr varchar(8000), @Flag char(1), @GuBun char(1)) -- 입력값 (구분자에 따라서 연결해준 문자열)
Returns varchar(8000) -- 출력형태
As
Begin
Declare
@Idx tinyint,
@SelectStr varchar(8000),
@ReturnValue varchar(8000)
Select @Idx = CharIndex(@GuBun,@FullStr)
IF @Idx > 0
Begin
IF @Flag = 'F'
Select @ReturnValue = Substring(@FullStr, @Idx+1, Len(@FullStr))
Else IF @Flag = 'S'
Select @ReturnValue = Substring(@FullStr, 1, @Idx-1)
Else
Select @ReturnValue = 'FlagError'
End
Else
Select @ReturnValue = 'NotArray'
Return(@ReturnValue)
End
'Database > MS-SQL' 카테고리의 다른 글
텍스트 자르기 patindex (0) | 2012.04.24 |
---|---|
SQL서버 시스템 통계 함수 (0) | 2012.04.24 |
Select top 10 단축키 만들기 (sp_sys_table_top_10) (0) | 2012.04.24 |
문자열 함수 정리 (0) | 2012.04.24 |
fn_Split_Get_Index 문자 자르기 split() 함수와 동일한 기능 구현 (0) | 2012.04.24 |