none
concatenar campos text RRS feed

  • Pregunta

  • buenas tardes

    tengo dos campos tipo text en una tabla sql 2005 quiero concatenarnos con una linea de separación entre ellos en un nuevo campo texto

    no me funciona con nada me dice

    Los tipos de datos text y char son incompatibles con el operador boolean AND.

    update clientes set observaciones12=observa1  & char(13) & char(10) + observa2
    update clientes set observaciones12=observa1  + char(13) + char(10) + observa2


    Aran

    jueves, 15 de febrero de 2018 15:16

Respuestas

  • Hola:

    Pero puedes convertirlos a varchar(max), y luego concatenarlos. como ejemplo.

    CREATE TABLE MITABLA (TEXTO1 TEXT, TEXTO2 TEXT, RESULTADO TEXT)
    GO
    INSERT INTO MITABLA vALUES ('TEXTO PRIMERO','SEGUNDO TEXTO','')
    GO
    SELECT * FROM MITABLA
    GO
    UPDATE MITABLA SET RESULTADO = CONVERT(varchar(max),TEXTO1)
    	 + CONVERT(varchar(2),char(13)) 
    	 + CONVERT(varchar(2),char(10))
    	 + CONVERT(varchar(max),TEXTO2);
    GO
    SELECT * FROM MITABLA
    

    Un saludo

    • Marcado como respuesta aticnet jueves, 15 de febrero de 2018 20:06
    jueves, 15 de febrero de 2018 18:02

Todas las respuestas

  • Hola:

    update clientes set observaciones12='mitexto'  + char(13) + char(10) + 'mitexto' 

    Como un ejemplo

    https://docs.microsoft.com/es-es/sql/t-sql/language-elements/string-concatenation-transact-sql

    Un saludo

    jueves, 15 de febrero de 2018 15:21
  • Tienes más ejemplos prácticos aquí

    https://docs.microsoft.com/es-es/sql/t-sql/functions/char-transact-sql

    Un saludo

    jueves, 15 de febrero de 2018 15:26
  • no me vale 'mitexto' son campos text los que quiero concatenar

    update clientes set observaciones12=observa1  + char(13) + char(10) + observa2

    el error que da es:

    Los tipos de datos text y char son incompatibles con el operador add.


    Aran

    jueves, 15 de febrero de 2018 15:45
  • Hola:

    Pero puedes convertirlos a varchar(max), y luego concatenarlos. como ejemplo.

    CREATE TABLE MITABLA (TEXTO1 TEXT, TEXTO2 TEXT, RESULTADO TEXT)
    GO
    INSERT INTO MITABLA vALUES ('TEXTO PRIMERO','SEGUNDO TEXTO','')
    GO
    SELECT * FROM MITABLA
    GO
    UPDATE MITABLA SET RESULTADO = CONVERT(varchar(max),TEXTO1)
    	 + CONVERT(varchar(2),char(13)) 
    	 + CONVERT(varchar(2),char(10))
    	 + CONVERT(varchar(max),TEXTO2);
    GO
    SELECT * FROM MITABLA
    

    Un saludo

    • Marcado como respuesta aticnet jueves, 15 de febrero de 2018 20:06
    jueves, 15 de febrero de 2018 18:02
  • gracias

    Aran

    jueves, 15 de febrero de 2018 20:07