728x90
반응형
728x170
■ 구분자를 사용해 문자열을 분리하는 방법을 보여준다.
▶ 예제 코드 (SQL)
CREATE FUNCTION [dbo].[GetTable]
(
@String NVARCHAR(MAX),
@Separator NVARCHAR(10)
)
RETURNS @Result TABLE(Item NVARCHAR(100))
AS
BEGIN
DECLARE @Temp NVARCHAR(MAX)
DECLARE @Start INT
DECLARE @End INT
DECLARE @Length INT
SET @Temp = ' ' + @String
SET @Start = 1
SET @End = 0
WHILE(@Start <> 0)
BEGIN
SET @End = CHARINDEX(@Separator, @Temp, @Start)
IF @End <> 0
BEGIN
SET @Length = @End - @Start
END
ELSE
BEGIN
SET @Length = LEN(@Temp) - @Start + 1
END
INSERT INTO @Result(Item) VALUES (RTRIM(LTRIM(SUBSTRING(@Temp, @Start, @Length))))
SET @Start = @End + 1
IF @End = 0
BEGIN
RETURN
END
END
RETURN
END
728x90
반응형
그리드형(광고전용)
'Database > SQLServer' 카테고리의 다른 글
[DATABASE/SQLSERVER] 테이블 변수 사용하기 (0) | 2017.05.24 |
---|---|
[DATABASE/SQLSERVER] 저장 프로시저 리스트 조회하기 (0) | 2017.05.24 |
[DATABASE/SQLSERVER] SP_HELPTEXT 저장 프로시저 : 프로시저 코드 조회하기 (0) | 2017.05.24 |
[DATABASE/SQLSERVER] SELECT TOP문을 동적으로 사용하기 (0) | 2017.05.24 |
[DATABASE/SQLSERVER] 전체 인덱스 스크립트 조회하기 (0) | 2015.06.13 |
[DATABASE/SQLSERVER] CTE 재귀 호출 사용하기 (0) | 2015.05.10 |
[DATABASE/SQLSERVER] CTE 재귀 호출 사용하기 (0) | 2015.05.09 |
[DATABASE/SQLSERVER] 저장 프로시저 소스 코드 조회하기 (0) | 2015.05.09 |
[DATABASE/SQLSERVER] SQL Server 설치시 1433 포트가 열리지 않은 경우 처리하기 (0) | 2015.05.08 |
[DATABASE/SQLSERVER] 영어 버전 윈도우즈 및 SQL Server 설치시 한글 사용하기 (0) | 2015.05.08 |
댓글을 달아 주세요