2016-05-31 10 views
-2

Ich verwende derzeit Filter, um die Daten aus der Tabelle nach den Daten herauszufiltern, wo sich das heutige Datum zwischen dem from date und dem to date befindet. Und zur Zeit die in dem Zustand mit alsFilterdatum auf dem Microsoft SQL

Select * FROM [Snapshot].[dbo].[ABCVIEW] where (getdate() >= fromdate and (todate = '1900-01-01 00:00:00.000')) or getdate() between fromdate and todate 

Es todate sind, die auch dem heutigen Datum hat, bevor Sie Filter mit

enter image description here

aber mit dem Filter, den ich verwende ich bin nicht in der Lage, die todate zu sehen = 2016-05-31 00: 00: 00.000. Ich habe versucht,

todate<= getdate() 

in den Filter hinzuzufügen, aber immer noch keine Verwendung. Im Ergebnis kann ich das heutige Datum nicht sehen zB: todate = 2016-05-31 00: 00: 00.000 Bitte helfen Sie mit.

+1

erklären Sie bitte im Klar engl Ish, was Sie erwarten, dass die Kriterien zurückkehren. –

Antwort

1

getdate gibt die aktuelle Zeit, die so größer ist als 2016-05-31 00:00:00.000 ist, wenn Sie Mitternacht letzte Nacht subtrahieren 1 vom getdate aufnehmen möchten():

Select * 
FROM [Snapshot].[dbo].[ABCVIEW] 
where (getdate() >= fromdate 
    and (todate = '1900-01-01 00:00:00.000')) 
     or getdate()-1 between fromdate and todate 
0

, wenn Sie zu DATE konvertieren Sie nur das Datum erhalten .. .....

SELECT Convert(date, getdate()) 

So könnte man verwenden, um zwischen

....... 
CONVERT(Date, fromDate) and CONVERT(Date, DateAdd( d, 1, toDate)) 
Verwandte Themen