sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan forespørges feltet DATETIME kun ved hjælp af dato i Microsoft SQL Server?

brug interval eller DateDiff-funktionen

 select * from test 
 where date between '03/19/2014' and '03/19/2014 23:59:59'

eller

 select * from test 
 where datediff(day, date, '03/19/2014') = 0

Andre muligheder er:

  1. Hvis du har kontrol over databaseskemaet, og du ikke har brug for tidsdataene, så tag det ud.

  2. eller, hvis du skal beholde den, tilføj en beregnet kolonneattribut, der har tidsdelen af ​​datoværdien fjernet...

Alter table Test Add DateOnly As DateAdd(day, datediff(day, 0, date), 0)

eller i nyere versioner af SQL Server...

Alter table Test Add DateOnly As Cast(DateAdd(day, datediff(day, 0, date), 0) as Date)

derefter kan du skrive din forespørgsel som ganske enkelt:

select * from test 
where DateOnly = '03/19/2014'


  1. hvordan man vælger en liste med 10.000 unikke id'er fra dual i oracle SQL

  2. MySQL-liste over alle procedurer

  3. Oracle Database-ændringsmeddelelse

  4. Sådan sikrer du MySQL:Del 1