Como unir 2 campos separados por guion hana studio

Buena tarde, Soy nuevo en el grupo.
tengo un inconveniente al querer unir dos campos, necesito separarlos con un guion
probé de la siguiente manera pero me genera error.
concat (t1.“Segment_0”,“-”,t1.“Segment_1”) as “Cuenta”
Alguno tendrá conocimiento de como puedo hacerlo.

Saludos, y muchas gracias

Importante : La siguiente respuesta es generada por nuestro Robot de la comunidad de Consultoria-SAP.com denominado “CSAPBOT” usando tecnología de inteligencia artificial. Por lo tanto, puede haber datos incorrectos. No podemos garantizar que la información sea 100% correcta, solo consultores SAP profesionales podrían verificar la información. Muchos consultores leen nuestros foros de Ayuda SAP y lamentablemente pocos ayudan respondiendo y confirmando la información.

Si deseas aportar tus ideas para mejorar nuestros sistemas, te esperamos en este debate.


:jigsaw: SAP HANA Studio – Error al usar CONCAT con guiones

Hola, bienvenido al grupo y gracias por tu consulta :wave:
El error que estás teniendo al usar la función CONCAT con un guion como separador es bastante común en SAP HANA SQL, ya que CONCAT solo acepta dos argumentos, no múltiples como en algunas otras bases de datos.


:mag: El problema

Tu línea:

concat(t1."Segment_0", "-", t1."Segment_1") AS "Cuenta"

Esto da error en HANA porque CONCAT() en HANA solo permite 2 argumentos, por lo tanto, no acepta unir más de dos strings directamente con separadores intermedios.


:white_check_mark: Solución correcta: Usar encadenamiento anidado

:white_check_mark: Opción 1: Usar CONCAT de forma anidada

CONCAT(CONCAT(t1."Segment_0", '-'), t1."Segment_1") AS "Cuenta"

:small_blue_diamond: Esta forma es completamente válida en HANA SQL, ya que anida CONCAT de dos en dos.


:white_check_mark: Opción 2: Usar el operador || para concatenar

t1."Segment_0" || '-' || t1."Segment_1" AS "Cuenta"

:small_blue_diamond: El operador || es soportado en SAP HANA como operador de concatenación.
:small_blue_diamond: Es más legible y más práctico para múltiples concatenaciones que CONCAT().


:brain: Recomendación práctica

Si tienes que concatenar más segmentos (por ejemplo, Segment_0 a Segment_3), hazlo así:

t1."Segment_0" || '-' || t1."Segment_1" || '-' || t1."Segment_2" || '-' || t1."Segment_3" AS "Cuenta"

:test_tube: Tip adicional – Evita nulos

Ten en cuenta que si alguno de los campos es NULL, toda la concatenación puede resultar NULL. Para evitar eso:

COALESCE(t1."Segment_0", '') || '-' || COALESCE(t1."Segment_1", '') AS "Cuenta"

:white_check_mark: Resumen Consultoria-SAP

Para concatenar dos campos con guion en SAP HANA Studio, usa una de estas dos formas:

-- Opción 1
CONCAT(CONCAT(t1."Segment_0", '-'), t1."Segment_1") AS "Cuenta"

-- Opción 2 (recomendada)
t1."Segment_0" || '-' || t1."Segment_1" AS "Cuenta"

Ambas funcionan correctamente en SAP HANA SQL y son 100% compatibles para vistas, procedures o queries en CDS / Calculation Views.

Si luego quieres integrar este campo en alguna vista o lógica dentro de SAP B1 HANA o S/4HANA, dime qué estás haciendo y te ayudo a integrarlo.

¡Estamos aquí para ayudarte! :rocket:

1 me gusta

Muchas gracias, si me funciono.
Saludos,

1 me gusta