sábado, 13 de junio de 2015

LibreOffice Base - Concatenando columnas

Nuestra intención es mostrar en una columna dos campos de una tabla, en este caso apellidos y nombre, para ello podemos utilizar la operación suma para concatenar los dos campos, de forma que introducimos en la columna la siguiente fórmula, "Nombre" + "Apellidos", la ejecutamos y nos muestra el resultado, esto nos presenta un nuevo problema los dos campos están pegados, no hay un espacio entre campo y campo.



Para ello sustituimos la formula introducida por "Nombre" || ' ' || "Apellidos", observamos que ya aparece como deseamos, con un espacio entre campo y campo.



Otras formas de concatenar campos:

CONCAT( [Nombre], [Apellidos] ), de está forma no dejaría espacio entre los dos campos.

CONCAT( "Nombre", ' ' ) + "Apellidos", de esta forma deja un espacio entre los dos campos.
CONCAT( CONCAT( "Nombre", ' ' ), "Apellidos" ),  de esta forma deja un espacio entre los dos campos.
CONCAT( "Nombre", ' ' ) + CONCAT( "Apellidos", ' ' ) + CONCAT( "Email", ' ' ),  de esta forma deja un espacio entre los campos.

Utiliza según le convenga una u otra fórmula.

2 comentarios:

  1. Cómo concateno 3 campos le añado la los ejemplos un campo
    Apellido_2

    CONCAT( [Nombre], [Apellido_1], [Apellido_2])

    "NOMBRE" || ' ' || "Apellido_1" || ' ' || "Apellido_2"

    En el campo Apellido_2 hay campos que están vacíos.

    También he probado con esta instrucción: COALESCE ( "NOMBRE" || ' ', '' ) || COALESCE ( "Apellido_1" || ' ', '' ) || COALESCE ( "Apellido_2", '' )
    Y no me contatena los 3 campos me este error http://i.imgur.com/VIeNKUI.jpg

    No me lo hace ¿Qué está pasando? Gracias.

    ResponderEliminar
    Respuestas
    1. Prueba a ver con esta:
      CONCAT( "NOMBRE", ' ' ) + CONCAT( "Apellido_1", ' ' ) + CONCAT( "Apellido_2", ' ' )
      Con los campos vacíos no hay problema.
      He probado esta instrucción y va bien, pero si tienes problemas, escribe.

      un saludo y gracias....

      Eliminar