티스토리 뷰
create function dbo.fn_GetSplitValue
(
@Param varchar(max) -- 대상 문자열
, @Div varchar(1) -- 구분자
, @ArrayIndex int -- 위치
)
returns varchar(max)
as
begin
declare @Index int
declare @Pos int
declare @Order int
declare @Output varchar(max)
set @Index = 1
set @Pos = 1
set @Order = 1
while @Order < @ArrayIndex+1 AND @Pos > 0
begin
set @Pos = charindex(@Div, @Param, @Index)
if @Pos = 0 or @Order = @ArrayIndex+1
begin
set @Output = right(@Param, len(@Param) - @Index + 1)
end
else
begin
set @Output = substring(@Param, @Index, @Pos - @Index)
end
set @Index = @Pos + 1
set @Order = @Order + 1
end
return @Output
end
-- 쿼리 사용하기
select fn_GetSplitValue('1/2/3/4/5', '/', 2)
'프로그래밍 > MS-SQL' 카테고리의 다른 글
MSSQL 암호화 hashbytes / fn_varbintohexstr (0) | 2016.11.29 |
---|---|
문자열 자르기 특정문자 기준으로 (0) | 2016.04.05 |
SQL 중복되는 값과 개수 (0) | 2016.02.24 |
장황한 CASE WHEN ... ELSE 대신에 COALESCE 함수를 사용 (T-SQL) (0) | 2009.02.06 |
Microsot SQL 2005에서 쉬운 페이징 쿼리문 (0) | 2008.10.25 |
빠른 페이징 쿼리문 (0) | 2008.09.09 |
SQL Server에서 사용할 수 있는 서버측 페이징기법 (3) | 2008.09.09 |
MS SQL Server 2005 Express 원격연결 설정하기 (0) | 2008.05.15 |