2012-03-20 2 views
1

문자열의 여러 행을 별도의 행으로 구문 분석하려고합니다. 나는 그 솔루션을 오랫동안 찾았지만 찾은 코드가 모두 잘 작동하지 않았다. Sybase (Sybase는 테이블로 돌아 오기를 지원하지 않기 때문이라고 가정)Sybase에서 여러 행 (문자열)을 구문 분석하는 방법은 무엇입니까?

예를 들어, 같은

id | text 
------------------------------------ 
1  | Stackoverflow.is.awesome 
2  | Sybase.never.sleeps 

이상적 결과가 있어야한다 :이 같은 테이블이 내가 구문 분석 10,000 행이

id | text 
----------------------------------- 
1  | Stackoverflow 
1  | is 
1  | awesome 
2  | Sybase 
2  | never 
2  | sleeps 

, 그래서 나는 정말이 할 수있는 가장 효율적인 방법을 찾고 있어요. 어떤 도움이라도 정말 감사 할 것입니다! 감사합니다.

+0

데이터베이스에서이 작업을 수행하는 방법이있을 수 있지만 다른 곳의 코드에서이 작업을 수행하는 것만 큼 효율적이지는 않습니다. DB 처리 언어는 효율적인 문자열 구문 분석을 수행하도록 작성되지 않았습니다. –

+1

다음 링크를 확인하고 싶을 수도 있습니다. http://codebetter.com/raymondlewallen/2005/10/26/quick-t-sql-to-parse-a-delimited-string/ – dom

답변

0

두 가지 방법이 있습니다. 문자열을 코드 (C#, Perl, Java 등 대부분의 언어)에서 분리하여 이러한 함수를 지원할 수 있습니다. 또는 Sybase의 patindex 함수를 사용하여 Sybase에서 자체 분리 함수를 작성하여 디 리미터의 색인을 얻은 다음 substring 함수를 사용하여 주석 문자열에서 dom이 주석으로 추출한 것을 추출 할 수 있습니다.

+0

감사합니다. 루프를 사용하여 재귀 적으로 각 셀을 구문 분석하고 하나를 덤프합니다. 열, 정말 이상적이 아니고 효율적인. – lumengxi

관련 문제