none
Concatenar data. RRS feed

  • Pergunta

  • Bom dia,

    Pessoal, to com problema quanto a concatenar três colunas, sendo elas mes | data | ano, todos estes campos estão como nvarchar, agora minha intenção é concatenar e deixar em uma coluna NASC como tipo date, mas sempre me da o erro "Conversion failed when converting date and/or time from character string."

    Atenciosamente,

    Leison Eduardo Soares

    sexta-feira, 14 de agosto de 2015 11:28

Respostas

Todas as Respostas

  • Leison,

    verifica esse link se ajuda. 

    https://social.technet.microsoft.com/Forums/pt-BR/38a8b2e7-93d7-42e0-999b-341e6d07bd25/como-concatenar-campos-no-sql?forum=sqlserver2005pt

    Att.

    Thyago

    sexta-feira, 14 de agosto de 2015 11:53
  • Testei, usei o seguinte comando como está no link que você me enviou,

    select convert(varchar(4),ano)+convert(varchar(2),mes)+ convert(varchar(2),dia),Month) as Data from teste

    Mas o mesmo me tras o erro; 

    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near ')'.

    sexta-feira, 14 de agosto de 2015 12:01
  • Eu já consegui concatenar a data, deixei ela da seguinte forma, AAAA-MM-DD (nvarchar(50) mas na hora de dar o update desta coluna para a coluna NASC (date) - UPDATE teste SET nasc2 = nasc;- Tenho este erro: Conversion failed when converting date and/or time from character string.

    sexta-feira, 14 de agosto de 2015 12:07
  • Bom dia,

    Leison, esse erro pode estar ocorrendo por causa do formato da data ou porque existe alguma data inválida em alguma linha da tabela.

    Para verificar se existem valores inválidos experimente a query abaixo:

    set dateformat ymd;
    
    select * from Teste
    where ISDATE(nasc) = 0

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    sexta-feira, 14 de agosto de 2015 12:47
  • testei da seguinte maneira aqui e funcionou

    pode ser algum valor invalido mesmo

    Att.

    Thyago

    sexta-feira, 14 de agosto de 2015 13:27
  • Devo estar com algum campo que contenha texto que não é data, talvez uma letra ou um campo zerado, estou tentando verificar isso, tabela é muito grande.

    Vou tentar descobrir uma forma de verificar depois dou um retorno, obrigado Thyago

    sexta-feira, 14 de agosto de 2015 13:41
  • Este query traz todos valores que contenham 0, entram tambem os valores como 03, 1900, 05.
    sexta-feira, 14 de agosto de 2015 14:23