2013-06-11 3 views
-2

나는 무언가를 용서해 주시기 바랍니다 SQL에 새로운 있습니다. 나는 하나의 필드를 포함 '임시'라는 테이블을 가지고, (필드 1라고도 함) 행과 긴 쉼표의 행 따라서, 문자열을 구분 :SQL 분할 다중 문자열로 쉼표로 구분 된 문자열

Temp table 
Field1 
ABC123,1,Z,some text 
ABC456,1,q,some text 
ABC789,1,r,some text 
ABC111,1,y,some text 

난 다음 다른 테이블 불리는 상세이, 4 제목으로 . 그래서 어떻게 임시 테이블에 임시 테이블에서 위의이처럼 보이도록 삽입 할 : 다음 세부 테이블에보고보고보고 서비스를 사용하게 될

Detail Table 
Field1   Field 2 Field 3   Field 4 
ABC123   1    Z     some text 
ABC456   1    q     some text 
ABC789   1   r     some text 
ABC111   1   y     some text 

. 함수를 호출해야합니까? 내가 읽은 적이 있는데 XML 함수가 더 좋다고 말하는 사람들이 있습니까? 내 모든 다른 코드는 SP에 있으므로 여기에서 어떻게 호출해야합니까?

도움을 주셔서 감사합니다.

감사합니다,

마이클

+1

RDBMS를 지정하지 않았지만이 질문의 중복이 여러 개 있습니다. 모두 오른쪽에 나와 있습니다. SQL Server (http://stackoverflow.com/questions/9589282/converting-comma-delimited- 문자열 - 투 - 다중 열 - 인 - SQL 서버? rq = 1 및 http://stackoverflow.com/questions/16722307/sql-server-splitting-string-by-and-put-each-split-element- 다른? rq = 1), MySQL (http://stackoverflow.com/questions/6823924/split-column-string-into-multiple-columns-strings?rq=1) 등 .... – LittleBobbyTables

+0

왜 그것을 .csv 형식으로 넣고 SSIS를 사용하여 테이블로 파이프하지 않습니까? 임시 테이블 내에 보관해야합니까? – JsonStatham

+1

이 질문은 연구 노력을 나타내지 않습니다. ** 숙제를하는 것이 중요합니다 **. 당신이 발견 한 것과 *** 왜 당신의 필요를 충족시키지 못했는지 ***를 말해주십시오. 이것은 당신이 자신을 도우려고 시간을 투자했음을 보여 주며, 명백한 답을 되풀이하는 것을 막아줍니다. 무엇보다도 당신은보다 구체적이고 적절한 대답을 얻는 데 도움이됩니다. [FAQ] (http://stackoverflow.com/questions/how-to-ask). – Kermit

답변

0

사용하고있는 데이터베이스가 큰 차이를 만든다. 다음은 MySQL의에서 작업을 수행하는 방법의 예입니다

insert into detail(field1, field2, field3, field4) 
    select substring_index(field1, 1), 
      reverse(substring_index(reverse(substring_index(field1, 2)))), 
      reverse(substring_index(reverse(substring_index(field1, 3)))), 
      reverse(substring_index(reverse(substring_index(field1, 4)))) 
    from tempTable t 

2-4 필드에 대한 복잡한 표현이 목록에서 n 번째 항목을 추출하는 단지 방법입니다.

+0

죄송합니다 - SQL 서버 2008 – Michael

관련 문제