Avalados por :

Como dividir uma cadeia em várias linhas usando SQL no SAP HANA

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

Introdução


Neste post, gostaria de descrever as opções para dividir uma string concatenada em múltiplas linhas usando SQL no SAP HANA. Dependendo da versão do sistema HANA em que você está trabalhando, você pode escolher a opção válida.

Criação de uma função personalizada (quando a versão do sistema SAP HANA é 2.0 SP02 ou inferior)


Se o seu sistema HANA estiver na versão 2.0 SP2 ou anterior, então não há uma função incorporada para dividir strings, então você precisará criar uma função personalizada.

Cenário 1.


Você tem a string separada por vírgulas 'A1, A2, A3, A4, A5, A6' que deseja exibir em várias linhas. Abaixo está um código para a função de tabela que divide a string separada por vírgulas em várias linhas.
FUNCTION "_SYS_BIC"."TMP::TF_SPLIT_STRING" ( INPUT_STRING VARCHAR(5000) ) 
	RETURNS TABLE
	(
		"OUTPUT_SPLIT" VARCHAR(5000)
	)
	LANGUAGE SQLSCRIPT
	SQL SECURITY INVOKER AS
BEGIN

	DECLARE COUNTER INT := 1;
	SPLIT_VALUES = SELECT SUBSTR_BEFORE(:INPUT_STRING,',') SINGLE_VAL FROM DUMMY;	
	SELECT SUBSTR_AFTER(:INPUT_STRING,',') || ',' INTO INPUT_STRING FROM DUMMY;
	
	WHILE( LENGTH(:INPUT_STRING) > 0 )	
	DO
	
	   SPLIT_VALUES =	
	   
	   				SELECT SUBSTR_BEFORE(:INPUT_STRING,',') SINGLE_VAL FROM DUMMY				   
					   UNION 	   
					SELECT SINGLE_VAL FROM :SPLIT_VALUES;
	
	   SELECT SUBSTR_AFTER(:INPUT_STRING,',') INTO INPUT_STRING FROM DUMMY;
	   	
	END WHILE;
	
	RETURN
	
	SELECT SINGLE_VAL AS "OUTPUT_SPLIT" FROM :SPLIT_VALUES; 

END

* Se a sua string estiver separada por um delimitador diferente, basta substituir
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?