none
GETDATE - Comparar apenas dia RRS feed

  • Pergunta

  • Pessoal, bom dia!

     

    Procurei aqui e não achei. TEnho que comparar uma data com getdate, mas a data foi cadastrada como 00:00:00, então ele não pega.

     

    Queria comparar apenas o dia, ou seja, se for pra hoje ele traz....independente de que hora seja. Alguém poderia me ajudar?

     

    Obrigado, pessoal!

    segunda-feira, 15 de dezembro de 2008 12:18

Respostas

  • então faz assim:

    Select * from pagamento where Convert(varchar(10), Datapgto, 103) = Convert(varchar(10), getdate(), 103)

    ele vai filtrar a data com o formato dd/mm/yyyy

    deve funcionar...
    segunda-feira, 15 de dezembro de 2008 12:59

Todas as Respostas

  • seria isso?

    Declare @DATA datetime

    Set @DATA = '15/12/2008'

    If Day(@DATA) = Day(GetDate())
    Begin
    Print 'É hoje'
    End

    nesse caso ele vai testar apenas o dia... dia 15... pode ser de dezembro, janeiro etc.


    de repente tenta fazer assim

    If Convert(varchar(10), @DATA, 103) = Convert(varchar(10), GetDate(), 103)
    Begin
    Print 'é hoje'
    End

    se não for isso, explica melhor...
    segunda-feira, 15 de dezembro de 2008 12:42
  • agora, se o que foi cadastrado é '00:00:00' então ele sempre vai retornar '01/01/1900', estou certo? então nunca vai poder comparar com data alguma. me corrijam se eu estiver errado...
    segunda-feira, 15 de dezembro de 2008 12:55
  • Anderson,

     

    Na verdade, o campo que eu tenho que comparar é do banco.

     

    Então,

     

    Select * from pagamento where Datapgto = getdate()

     

    em Datapgto, está 12/15/2008 00:00:00 e getdate() é 12/15/2008 10:50:12,  então eu quero comparar mês, dia e ano...as horas não quero comparar...

     

    Tentei Day(Datapgto) = Day(getdate()), mas ele comparou apenas o dia...não comparou mês e ano...

     

    Se puder ajudar de novo, Vlw!

     

    segunda-feira, 15 de dezembro de 2008 12:57
  • então faz assim:

    Select * from pagamento where Convert(varchar(10), Datapgto, 103) = Convert(varchar(10), getdate(), 103)

    ele vai filtrar a data com o formato dd/mm/yyyy

    deve funcionar...
    segunda-feira, 15 de dezembro de 2008 12:59
  • Perfeito, Anderson...parabéns...

     

    Vlw!!!

     

    segunda-feira, 15 de dezembro de 2008 13:27
  • beleza, dá uma olhada na ajuda do SQL Server sobre a função CONVERT... olha os tipos de máscara que tu pode usar.. costuma ser bastante útil... abraços...
    segunda-feira, 15 de dezembro de 2008 13:34