대체 왜 이런 함수가 기본으로 없는거요?
/* ------------------------------------------------------------
* Split 함수
* SELECT dbo.fn_split( '123-4567' , 1 , '-' )
------------------------------------------------------------ */
CREATE FUNCTION [dbo].[fn_split] (
@str varchar(1000),
@spliter varchar(5),
@idx int
)
RETURNS varchar(1000)
AS
BEGIN
DECLARE @NextString NVARCHAR(40)
DECLARE @Pos INT
DECLARE @NextPos INT
DECLARE @String NVARCHAR(40)
DECLARE @Delimiter NVARCHAR(40)
DECLARE @Loop INT
SET @String =@str
SET @Delimiter = @spliter
SET @String = @String + @Delimiter
SET @Pos = charindex(@Delimiter,@String)
SET @Loop = 0
SET @NextString =''
WHILE (@pos <> 0)
BEGIN
SET @NextString = substring(@String,1,@Pos - 1)
if (@Loop =@idx) break;
SET @String = substring(@String,@pos+1,len(@String))
SET @pos = charindex(@Delimiter,@String)
SET @Loop = @Loop + 1
END
RETURN @NextString
END
'개발 > 데이터베이스' 카테고리의 다른 글
Mysql 배치작업(이벤트) (0) | 2020.11.04 |
---|---|
Mysql 인자값의 최소,최대 값 반환함수 (1) | 2020.10.21 |
Mysql DB 생성 / 사용자생성 / 권한주기 (1) | 2020.10.20 |
Mysql 날짜기본함수 정리 (1) | 2020.10.16 |