문제

특정 날짜에있는 데이터 테이블의 레코드를 필터링하려면 어떻게해야합니까?

나는 평원을 시도했다 [datecol] = #11 March 2010# 그리고 CONVERT([datecol],'System.DateTime') = #11 March 2010#. 운이 없습니다.

MSDN : RowFilter Expression 구문

해결책

[datecol] >= #11 March 2010 00:00# AND [datecol] <= #11 March 2010 23:59:59#
도움이 되었습니까?

해결책

select 
   ...
   ...
   ...

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

죄송합니다, 잘못된 머리에. 방금 SQL을 많이 쓰고있었습니다 !!

이 시도

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

또는

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

다른 팁

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

Datediff 기능에는 많은 힘이 있습니다.

DATEADD(DAY,DATEDIFF(DAY,0,[datecol]),0) 다른 처리를 위해 해당 데이터가 필요한 경우 열에서 시간 부분을 제거 할 수있는 또 다른 방법입니다. 낮 동안 발생하는 항목을 그룹화하려는 경우 또는 몇 시간 동안 또는 몇 시간 후에 발생하는 항목을 그룹화 해야하는 경우 다른 용도로 사용하는 경우이를 사용합니다.

다음 LINQ 코드를 사용하여 날짜에 따라 DataTable 행 세트를 필터링 할 수 있습니다.

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

또한 DataTables에서 기본 LINQ 쿼리의 통찰력을 얻으려면 게시물을 참조하십시오. LINQ를 사용한 데이터 가능 여과

최고의 RGD

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top