sql >> Database >  >> RDS >> Sqlserver

Hoe vraag ik naar alle datums die groter zijn dan een bepaalde datum in SQL Server?

select *  
from dbo.March2010 A 
where A.Date >= Convert(datetime, '2010-04-01' )

In uw zoekopdracht, 2010-4-01 wordt behandeld als een wiskundige uitdrukking, dus in wezen luidt het

select *  
from dbo.March2010 A 
where A.Date >= 2005; 

(2010 minus 4 minus 1 is 2005 Het converteren naar een juiste datetime , en het gebruik van enkele aanhalingstekens lost dit probleem op.)

Technisch gezien kunt u met de parser wegkomen met

select *  
from dbo.March2010 A 
where A.Date >= '2010-04-01'

het zal de conversie voor je doen, maar naar mijn mening is het minder leesbaar dan expliciet converteren naar een DateTime voor de onderhoudsprogrammeur die na u komt.



  1. Wat is SQL Server RAISERROR?

  2. Haal pl/sql-array-retourwaarden op in java

  3. Is er zoiets CASE-expressie in JPQL?

  4. Hoe gebruik je COUNT in SQL?