none
Where comparando um Campo Data com >= RRS feed

  • Pergunta

  •                           

    Boa Tarde Pessoal,

    Tenho uma Tabela em que tenho um campo data chamado Data_Efetivação.

    Preciso fazer um select em que eu traga informações de período de data;

    Como é Possivel?

    Hoje faço da seguinte forma:

     where Convert(Varchar(10), Data_Efetiva_Financ,103) >= '01/11/2013'   and

                Convert(Varchar(10), Data_Efetiva_Financ,103) >= '01/11/2013'              and

    Porém ele esta trazendo todos os registros da tabela. Antes no Sql 2005 funcionava muito bem,

    Agora no SQL 2008 estou tendo este problema. 

    Agradeço desde já;

    Wagner


    WBarbalho

    quarta-feira, 4 de dezembro de 2013 17:13

Respostas

  • Como estão os dados no seu banco?

    tente

    where Convert(Varchar(8), Data_Efetiva_Financ,112) BETWEEN  '20131101'   and '20131101'


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 4 de dezembro de 2013 17:36
  • Deleted
    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 4 de dezembro de 2013 17:57
  • Wagner,

        Evite quaisquer funções na sua cláusula where nos campos das tabelas, pois isso pode afetar a sua performance ao não utilizar um índice para o filtro. Se o seu campo for DATETIME tente assim:

    where Data_Efetiva_Financ BETWEEN  '2013-11-01 00:00:00'   and '2013-11-01 23:59:59'



    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 4 de dezembro de 2013 17:59
    Moderador
  • Bom dia Wagner,

    Você chegou a testar alguma solução que lhe foi passada?

    Caso alguma delas funcione não esqueça de marcar como resposta para fechar a sua Thread.

    Att,


    Giovani Cruzara – Microsoft Contingent Staff

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

    Msdn Community Support

    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.

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    terça-feira, 10 de dezembro de 2013 13:25
  • José,

         Converter o dado para filtrar se o tipo de dado do campo Data_Efetiva_Financ for um dos tipos de data/hora não é necessário... Estará apenas adicionando overhead no servidor, já que o SQL entende perfeitamente o texto 'yyyymmdd' (ou outro formato semelhante, yyyy-mm-dd, etc..) sem precisar fazer conversões. 


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 11 de dezembro de 2013 16:22
    Moderador

Todas as Respostas

  •                           

    Boa Tarde Pessoal,

    Tenho uma Tabela em que tenho um campo data chamado Data_Efetivação.

    Preciso fazer um select em que eu traga informações de período de data;

    Como é Possivel?

    Hoje faço da seguinte forma:

     where Convert(Varchar(10), Data_Efetiva_Financ,103) >= '01/11/2013'   and

                Convert(Varchar(10), Data_Efetiva_Financ,103) >= '01/11/2013'              and

    Porém ele esta trazendo todos os registros da tabela. Antes no Sql 2005 funcionava muito bem,

    Agora no SQL 2008 estou tendo este problema. 

    Agradeço desde já;

    Wagner


    WBarbalho

    quarta-feira, 4 de dezembro de 2013 17:21
  • Como estão os dados no seu banco?

    tente

    where Convert(Varchar(8), Data_Efetiva_Financ,112) BETWEEN  '20131101'   and '20131101'


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 4 de dezembro de 2013 17:36
  • Deleted
    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 4 de dezembro de 2013 17:57
  • Wagner,

        Evite quaisquer funções na sua cláusula where nos campos das tabelas, pois isso pode afetar a sua performance ao não utilizar um índice para o filtro. Se o seu campo for DATETIME tente assim:

    where Data_Efetiva_Financ BETWEEN  '2013-11-01 00:00:00'   and '2013-11-01 23:59:59'



    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 4 de dezembro de 2013 17:59
    Moderador
  • Bom dia Wagner,

    Você chegou a testar alguma solução que lhe foi passada?

    Caso alguma delas funcione não esqueça de marcar como resposta para fechar a sua Thread.

    Att,


    Giovani Cruzara – Microsoft Contingent Staff

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

    Msdn Community Support

    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.

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    terça-feira, 10 de dezembro de 2013 13:25
  • José,

         Converter o dado para filtrar se o tipo de dado do campo Data_Efetiva_Financ for um dos tipos de data/hora não é necessário... Estará apenas adicionando overhead no servidor, já que o SQL entende perfeitamente o texto 'yyyymmdd' (ou outro formato semelhante, yyyy-mm-dd, etc..) sem precisar fazer conversões. 


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:45
    quarta-feira, 11 de dezembro de 2013 16:22
    Moderador