Frage

Wie filtere ich für Aufzeichnungen auf einem Datatable, die zu einem bestimmten Zeitpunkt sind?

Ich habe schlicht [datecol] = #11 March 2010# und CONVERT([datecol],'System.DateTime') = #11 March 2010# versucht. Ohne Glück.

MSDN: RowFilter Expression Syntax

Lösung

[datecol] >= #11 March 2010 00:00# AND [datecol] <= #11 March 2010 23:59:59#
War es hilfreich?

Lösung

select 
   ...
   ...
   ...

where [datecol] between '11 March 2010 00:00:00' and '11 March 2010 23:59:59'

Sorry, falsch Kopf. Gerade wurde eine Menge von SQL zu schreiben !!

Versuchen Sie, diese

[datecol] >= #03/11/2010 00:00:00# AND [datecol] <= #03/11/2010 23:59:59# 

oder

 [datecol] >= '03/11/2010 00:00:00' AND [datecol] <= '03/11/2010 23:59:59' 

Andere Tipps

select * from [X] WHERE DATEDIFF(dd,[datecol],'3/11/2010') = 0

Es gibt eine Menge Energie mit der datediff Funktion,

DATEADD(DAY,DATEDIFF(DAY,0,[datecol]),0) ist ein andere Art und Weisen Sie den Zeitabschnitt von der Spalte Streifen können, wenn Sie diese Daten für andere Verarbeitung benötigen. Wir verwenden diese, wenn wir Elemente gruppieren wollen, sind die während des Tages auftreten, oder einige andere Verwendungen, wenn wir Gruppenelemente benötigen, die während Stunden oder nach Stunden auftreten.

Sie können folgende LINQ-Code verwenden, um Filter Datatable Zeilensatz nach Datum:

var resultSet = from tbl in dt.AsEnumerable()
                where tbl.Field<DateTime>("ColName").ToString("dd/MMM/yyyy") == "07/Aug/2010"
                select tbl;

Um ferner die Einsicht der grundlegenden LINQ-Abfragen zu erhalten auf Tables an den Pfosten sehen

scroll top