2017-03-20 4 views
-1

특정 행 번호가있는 단일 행에이 문자가 있습니다. 67503.55-을 가져와야합니다. 51810.60-을 입력하고 나머지는 모두 버립니다. 내가 검색했지만 모든 질문은 동일한 문자열 또는 심지어 두 개의 문자열로 나뉘어집니다. 그러나 내 요구 사항은 더 넓은 버전을 포함합니다.

TOTALS:   228      67503.55-  **67503.55**-  165420.27  217230.87-  **51810.60**-  119314.15- 

나는 fn_split하지만 도움을 사용했습니다. 데이터베이스가 SPLIT_TOKEN()을 지원하는 경우

+0

'sql'은 충분하지 않습니다! 편집 옵션을 사용하여 질문을 적절한 RDBMS (MySQL, SQL-Server, Oracle 등 ...)로 태그하십시오. – Shnugo

답변

0

, 당신이 시도 할 수 있습니다 :

WITH 
input(s) AS (
SELECT 'TOTALS: 228 67503.55- 67503.55- 165420.27 217230.87- 51810.60- 119314.15-' 
) 
SELECT 
    SPLIT_PART(s,' ',4) AS first_needed_token 
, SPLIT_PART(s,' ',7) AS second_needed_token 
FROM input; 

first_needed_token|second_needed_token 
67503.55-   |51810.60- 

그렇지 않으면 RDBMS에 SPLIT_TOKEN()을 부탁드립니다.

0

덕분에, 내가, 내가 사용하는 자사의 SQL 서버를 split_token로 같은 일이 뭔가를 시도하고 그 기능을 지원하지 않습니다 -

COL1 = SUBSTRING (골, 9,14), COL2 = SUBSTRING을 (Col, 27,14), col3 = SUBSTRING (Col, 40,14)