Avalados por :

Cómo dividir una cadena en múltiples filas usando SQL en SAP HANA

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

Introducción


En esta publicación me gustaría describir las opciones para dividir una cadena concatenada en múltiples filas utilizando SQL en SAP HANA. Dependiendo de la versión del sistema HANA en la que estés trabajando, puedes elegir la que sea válida.

Creación de una función personalizada (cuando la versión del sistema SAP HANA es 2.0 SP02 o inferior)


Si tu sistema HANA es de la versión 2.0 SP2 o anterior, entonces no hay una función incorporada para dividir cadenas, por lo que necesitarás crear una función personalizada.

Escenario 1.


Tienes la cadena separada por comas 'A1, A2, A3, A4, A5, A6' que deseas mostrar como múltiples filas. A continuación, hay un código para la función de tabla que divide la cadena separada por comas en líneas múltiples.
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

* Si tu cadena está separada por un delimitador diferente, simplemente reempl
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?