locked
Como concatenar campos no SQL

    Pergunta

  • Saudações,

    gostaria de saber qual o comando para se crear uma procedura onde concatene tres campos de uma tabela em um campo data. Ex.

    tenho uma tabela com os campos Month,Day e Year. Gostaria de transformar estes tres campos em um unico campo de data.

     

    sexta-feira, 14 de março de 2008 17:22

Todas as Respostas

  • A sentença fica assim:

     

    select convert(varchar(2),Day)+convert(varchar(2),Month)+ convert(varchar(4),Year),Month) as Data from tabela

    sexta-feira, 14 de março de 2008 18:24
  • Ok. Obrigado

     

    sexta-feira, 14 de março de 2008 18:58
  • O comando funcionou, mas preciso que ele crie uma coluna chamada data do tipo data. Sera que é possivel?

     

    sexta-feira, 14 de março de 2008 19:06
  • Pelo que eu entendí vc quer criar um campo data na mesma tabela e adicionar a data referente aos campos day,month e year?

     

    tente o seguinte:

     

    alter table [suatabela] add Data_Concatenada datetime

     

    depois, faça um update que pegue o valor concatenado atualize o valor da data correspondente na nova coluna.

    sexta-feira, 14 de março de 2008 19:46
  • Obrigado,

    mas verifique o que acontece quando faço o update. Ele me retorna o campo data com a seguinte data:1/4/1905.

    Lembrando que os campos Day, Month e Year sao campos decimais.

     

    Sera que tem outro caminho?

     

    segunda-feira, 17 de março de 2008 20:51
  • tenta o seguinte

    cast (cast(DATEPART("yy",tabela.CampoData) as varchar(4)) + '/' + cast(DATEPART("mm",tabela.CampoData) as varchar(2)) + '/' +
     cast(DATEPART("dd",tabela.CampoData)as varchar(2))as datetime)
    quinta-feira, 29 de outubro de 2009 12:25