0
나는 가져온 데이터 열을 연락처 주소 필드로 구성된 Lotus Notes 데이터베이스에서 가지고 있습니다. 주소의 항목은 ASCII (13), ASCII (10)로 구분됩니다.SQL 서버 문자열을 하위 문자열로 구문 분석
이 주소를 별도의 열로 나누는 가장 쉬운 방법은 무엇입니까?
나는 가져온 데이터 열을 연락처 주소 필드로 구성된 Lotus Notes 데이터베이스에서 가지고 있습니다. 주소의 항목은 ASCII (13), ASCII (10)로 구분됩니다.SQL 서버 문자열을 하위 문자열로 구문 분석
이 주소를 별도의 열로 나누는 가장 쉬운 방법은 무엇입니까?
저는 프로젝트에서 이와 비슷한 것을 사용합니다. 불행히도 필자는 최적화 된 버전을 가지고 있지 않지만 신속하게 코딩했습니다. 이렇게하면 시작할 수 있습니다 ...
CREATE FUNCTION fx_Split
(
@text varchar(max),
@splitChar char(1)
)
RETURNS
@Result TABLE
(
RowIndex int identity(1,1),
SplitText varchar(max)
)
AS
BEGIN
DECLARE @index int SET @index = 0
DECLARE @SplitText varchar(max) SET @SplitText = ''
DECLARE @TempText varchar(max) SET @SplitText = ''
SET @index = CHARINDEX(@splitChar, @text)
SET @TempText = @text
WHILE(@index > 0)
BEGIN
INSERT INTO @Result VALUES (SUBSTRING(@TempText, 1, @index-1))
SET @TempText = SUBSTRING(@TempText, @index + 1, LEN(@TempText))
SET @index = CHARINDEX(@splitChar, @TempText)
END
INSERT INTO @Result VALUES (@TempText)
RETURN
END
GO
select * from dbo.fx_Split ('asdf,qwer,asfegqgr,qweqwefe,qwf4ggrr,qfasdglsdfg', ',')