none
Duvida inserir dados em banco sql serve 2008 RRS feed

  • Pergunta

  • bem tenho o seguinte código

    declare @xData date, @DataF date;
    set @DataF= Convert(date, '31/12/2014', 103);
    
    set @xData= Convert(date, '1/1/2014', 103);
    while @xData <= @DataF
      begin
      INSERT into tabFux (mes) values (@xData);
      set @xData= DateAdd(day, +1, @xData);
      end; 

    ele inseri no banco de dados as datas todas de um ano 

    so que eu preciso tbem do mês isso é possivel?

    segunda-feira, 21 de julho de 2014 17:29

Respostas

  • Tente assim:

    declare @xData date, @DataF date;
    set @DataF= Convert(date, '31/12/2014', 103);
    
    set @xData= Convert(date, '1/1/2014', 103);
    while @xData <= @DataF
      begin
      INSERT into tabFux (mes) values (DATENAME(MONTH, @xData));
      set @xData= DateAdd(day, +1, @xData);
      end; 


    Leonardo D'Amato

    • Marcado como Resposta Rhael_Andrade segunda-feira, 21 de julho de 2014 19:57
    segunda-feira, 21 de julho de 2014 19:48

Todas as Respostas

  • Boa tarde,

    Não sei se entendi corretamente a sua questão mas experimente trocar o parâmetro day da função DateAdd por month:

      set @xData= DateAdd(month, +1, @xData);

    Espero que ajude.


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

    segunda-feira, 21 de julho de 2014 19:02
  • ja tentei mim da uma data de 01/01/2014 a 12/01/2014 e eu preciso é do nome do mês!
    segunda-feira, 21 de julho de 2014 19:07
  • Cara, vc adicionando um dia na data usando o DateAdd(), se for o último dia do mês, ele trocará automático.

    Exemplo:

    declare @DataNova date, @DataVelha date;
    set @DataVelha = Convert(date, '31/12/2014', 103);
    set @DataNova = DateAdd(day, 1, @DataVelha) 
    select @DataNova
    -- @DataNova = 2015-01-01


    Leonardo D'Amato

    segunda-feira, 21 de julho de 2014 19:10
  • Para o nome do mês, faça assim:

    select DATENAME(MONTH, @Data)


    Leonardo D'Amato

    segunda-feira, 21 de julho de 2014 19:12
  • não deu certo! deu erro


    (1 linha(s) afetadas)
    Mensagem 241, Nível 16, Estado 1, Linha 8
    Falha ao converter data e/ou hora da cadeia de caracteres.

    segunda-feira, 21 de julho de 2014 19:29
  • Cara, o que você precisa inserir exatamente na tabela? Explique direito, por gentileza, para que possamos ajudá-lo.

    Leonardo D'Amato

    segunda-feira, 21 de julho de 2014 19:33
  • ei preciso de todos os nome dos mês e os dias ficaria mais ou menos assim

    do ano

    inteiro do dia 01/01/2014 a 31/12/2014 com data e o nome do mês!

    segunda-feira, 21 de julho de 2014 19:46
  • Tente assim:

    declare @xData date, @DataF date;
    set @DataF= Convert(date, '31/12/2014', 103);
    
    set @xData= Convert(date, '1/1/2014', 103);
    while @xData <= @DataF
      begin
      INSERT into tabFux (mes) values (DATENAME(MONTH, @xData));
      set @xData= DateAdd(day, +1, @xData);
      end; 


    Leonardo D'Amato

    • Marcado como Resposta Rhael_Andrade segunda-feira, 21 de julho de 2014 19:57
    segunda-feira, 21 de julho de 2014 19:48