Pregunta

¿Cómo filtro para el registro de un DataTable que se encuentran en una fecha determinada?

He intentado [datecol] = #11 March 2010# simple y CONVERT([datecol],'System.DateTime') = #11 March 2010#. Sin suerte.

de MSDN: Expresión RowFilter Sintaxis

Solución

[datecol] >= #11 March 2010 00:00# AND [datecol] <= #11 March 2010 23:59:59#
¿Fue útil?

Solución

select 
   ...
   ...
   ...

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

Lo sentimos, la cabeza mal en. Sólo estado escribiendo un montón de SQL !!

Probar

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

o

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

Otros consejos

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

Hay una gran cantidad de energía con la función DateDiff,

DATEADD(DAY,DATEDIFF(DAY,0,[datecol]),0) es otra manera se puede despojar a la porción de tiempo de la columna si necesita que los datos de otro proceso. Utilizamos esta si estamos queriendo para agrupar los elementos que se producen durante el día, o algunos otros usos si necesitamos para agrupar los elementos que se producen durante horas o después de las horas.

Puede utilizar siguiente código de LINQ para filtrar DataTable fila-establecido de acuerdo a la fecha:

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

Además, para conseguir la penetración de las consultas LINQ básicas en tablas de datos vean el mensaje Filtrado DataTable utilizando LINQ

mejores Rgds

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top