sql >> Databáze >  >> RDS >> Sqlserver

Jak mohu zadat dotaz na všechna data větší než určité datum na serveru SQL?

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

Ve vašem dotazu 2010-4-01 je považováno za matematický výraz, takže v podstatě zní

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

(2010 minus 4 minus 1 is 2005 Převeďte jej na správný datetime a použití jednoduchých uvozovek tento problém vyřeší.)

Technicky vám může analyzátor umožnit vyhnout se

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

provede převod za vás, ale podle mého názoru je méně čitelný než explicitní převod na DateTime pro programátora údržby, který po vás přijde.



  1. Jak získat údaje o prodeji za poslední 3 měsíce v MySQL

  2. Jak používat příkaz CASE v MySQL?

  3. 3 Funkce, které získávají den, měsíc a rok z data v PostgreSQL

  4. Pochopení nové vlny tepla MySQL