2017-09-12 5 views
-1

에 쉼표로 구분 된 문자열을 분할하는 I 다음 HANA 절차가 있습니다HANA SQL 함수는 문자열

CREATE PROCEDURE SP_LIT() 
AS 

BEGIN 
DECLARE count INT; 
DECLARE pos INT; 
DECLARE value NVARCHAR(100); 

value := 'R,A'; 


IF LENGTH(:value) > 0 THEN 

    value := :value + ','; 
    pos := LOCATE(:value,',',1); 
END IF; 
    WHILE :pos > 0 DO 
    BEGIN 
     INSERT INTO [O/P table] VALUES (LEFT(:value,:pos-1)); 
     value := RIGHT(:value, LENGTH (:value)-:pos); 
     pos := LOCATE(:value,',',1); 

    END; 
    END WHILE; 
END; 

모든 것이 잘 보이지만 실행에 다음과 같은 오류가 발생합니다 :

Error: invalid number exception: invalid number: not a valid number string 'R,A' 

어떤 생각 내가 잘못 가고있어?

+0

나는 HANA에 대해 많이 알지 못하지만 어떤 선이 그 선인지에 도움이 될 것입니다. 목표 테이블의 컬럼이 숫자 데이터 유형이고 문자열을 입력하려고 시도했을 수 있습니다. 사용중인 기능이 숫자를 요구하지 않습니다. 일반적으로 INSERT 문에서 삽입되는 열을 지정해야하지만 HANA에 대해 많이 알지 못합니다. –

+0

SO에 대한 이전 질문을 참조하십시오. https://stackoverflow.com/questions/44110999/how-to-split-multiple-values-from-a-row-into-separate-rows –

답변

0

해결책을 찾았습니다. '+'기호를 연결하면 '||'로 바뀌어야합니다. 파이프 운영자.