"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso comparar corretamente os valores de data e data no SQL Server?

Como posso comparar corretamente os valores de data e data no SQL Server?

Postado em 2025-03-22
Navegar:594

How Can I Correctly Compare DATETIME and DATE Values in SQL Server?

Comparando o tempo com a data no SQL Server

ao comparar um valor de tempo com apenas uma data, o resultado pode ser inesperado. Isso ocorre porque o tipo de dados do dateTime inclui componentes de data e hora. Por exemplo, se você tiver uma tabela de usuários com uma coluna DATECREATEL DA DATETIME, a seguinte consulta:

Select * from [User] U
where  U.DateCreated = '2014-02-07'     

não retornará nenhum registro, mesmo que o usuário tenha sido criado em 2014-02-07 às 12: 30: 47.220. onde u.Datecreated & gt; = '2014-02-07' e U.Datecreated & lt; Dataadd (dia, 1, '2014-02-07')

Esta consulta é sargável, o que significa que pode usar um índice na coluna DataCreated. No entanto, isso não é recomendado. Usando funções na cláusula WHERE ou em condições de união:

Select * from [User] U 
where U.DateCreated >= '2014-02-07' and U.DateCreated < dateadd(day,1,'2014-02-07')
remove a capacidade do otimizador de usar um índice no campo

adiciona cálculos desnecessários para cada linha de dados

e evitando intervalos de tempo. Use o seguinte formulário:

onde col> = '20120101' e col & lt; '20120201'

    Este formulário é compatível com todos os tipos e precisões de dados, independentemente da parte do tempo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3