none
Select entre datas e horas RRS feed

  • Pergunta

  • Ola, eu preciso fazer um Select

    entre datas e horas, por exemplo:

    select count(*) from tabela t 
    where t.data between '2015-08-01' and '2015-08-31'
    AND entre a horario '11:00:00' and '11:59:59'

    preciso que seja neste intervalo de dias e  nesse intervalo de horas.

    Como poderia fazer?

    obrigado

    quinta-feira, 21 de janeiro de 2016 19:39

Respostas

  • voce pode usar a função DATEDIFF

    SELECT DATEDIFF(hour, '2015-08-01 11:00:00'
    , '2015-08-31 '11:59:59');

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Sugerido como Resposta Erick WendelMVP quinta-feira, 21 de janeiro de 2016 19:52
    • Marcado como Resposta Marcos SJ sexta-feira, 22 de janeiro de 2016 15:32
    quinta-feira, 21 de janeiro de 2016 19:52
  • Nesse caso, é bom você salvar o registro da data em uma coluna datetime, com a data e hora juntas.

    Aí na sua consulta ficaria algo do tipo:

    select count(*) from tabela t
    where t.data between '2015-08-01 00:00:00' and '2015-08-31 23:59:59'

    Se você tem duas colunas, o que não acho muito bom, você teria que fazer assim:

    select count(*) from tabela t
    where  convert(datetime,(convert(varchar(10),t.data,120) + ' ' + t.horario),120) between '2015-08-01 00:00:00' and '2015-08-31 23:59:59'

    • Marcado como Resposta Marcos SJ sexta-feira, 22 de janeiro de 2016 15:33
    quinta-feira, 21 de janeiro de 2016 19:51
  • Boa tarde,

    Sua tabela possui colunas separadas para data e hora? Então experimente dessa forma:

    select count(*) from tabela t 
    where t.data between '2015-08-01' and '2015-08-31'
    AND t.horario between '11:00:00' and '11:59:59'

    Espero que ajude


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

    • Marcado como Resposta Marcos SJ sexta-feira, 22 de janeiro de 2016 15:33
    quinta-feira, 21 de janeiro de 2016 19:52

Todas as Respostas

  • Nesse caso, é bom você salvar o registro da data em uma coluna datetime, com a data e hora juntas.

    Aí na sua consulta ficaria algo do tipo:

    select count(*) from tabela t
    where t.data between '2015-08-01 00:00:00' and '2015-08-31 23:59:59'

    Se você tem duas colunas, o que não acho muito bom, você teria que fazer assim:

    select count(*) from tabela t
    where  convert(datetime,(convert(varchar(10),t.data,120) + ' ' + t.horario),120) between '2015-08-01 00:00:00' and '2015-08-31 23:59:59'

    • Marcado como Resposta Marcos SJ sexta-feira, 22 de janeiro de 2016 15:33
    quinta-feira, 21 de janeiro de 2016 19:51
  • Boa tarde,

    Sua tabela possui colunas separadas para data e hora? Então experimente dessa forma:

    select count(*) from tabela t 
    where t.data between '2015-08-01' and '2015-08-31'
    AND t.horario between '11:00:00' and '11:59:59'

    Espero que ajude


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

    • Marcado como Resposta Marcos SJ sexta-feira, 22 de janeiro de 2016 15:33
    quinta-feira, 21 de janeiro de 2016 19:52
  • voce pode usar a função DATEDIFF

    SELECT DATEDIFF(hour, '2015-08-01 11:00:00'
    , '2015-08-31 '11:59:59');

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Sugerido como Resposta Erick WendelMVP quinta-feira, 21 de janeiro de 2016 19:52
    • Marcado como Resposta Marcos SJ sexta-feira, 22 de janeiro de 2016 15:32
    quinta-feira, 21 de janeiro de 2016 19:52
  • Boa tarde,

    Por falta de retorno do usuário, esta thread será encerrada.

    Caso seja necessário, por gentileza, abra uma thread nova.

    Atenciosamente

    Marcos SJ

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 22 de janeiro de 2016 15:33