从datetimePicker投射日期时间

DoI*_*oIt 0 c# sql-server datetimepicker

我有一个SQL查询,它应该在使用两个日期时间选择器选择的两个日期之间返回一些数据,但是当两个日期相等时,它应该返回该日的数据.我的查询没有返回任何内容,因为我的日期mm/dd/yyyy hh:mm:ss AM/PM格式.我使用日期时间选择器中的以下日期格式

dtpEndDate.Value.ToShortDateString()
Run Code Online (Sandbox Code Playgroud)

例如,当我的结束日期是2014年4月13日,那么它返回之前的数据,4/13/2014 00:00:00但我希望数据直到4/13/2014 23:59:59

我有以下查询

SELECT   
  sum(isnull(ExpectedAmt, 0)) AS Payment  FROM  Sales                            
  WHERE  (a.SellDate >= @StartDate)  AND (a.SellDate <= @EndDate) 
Run Code Online (Sandbox Code Playgroud)

我尝试了转换数据时间,但无法将其转换为日期时间类型.有没有更好的方法可以做到这一点?

Fla*_*ter 5

检查Date日期时间的部分是否相同.如果是这样,请相应地调整值

if(firstDate.Date.Equals(secondDate.Date))
{
    firstDate = firstDate.Date; 
         //If any time of day was set, it's now 0:00:00

    secondDate = firstDate.AddDays(1).AddSeconds(-1); 
         //This is now the day with time 23:59:59
}
Run Code Online (Sandbox Code Playgroud)

此时,您可以继续定期过滤.

  • 如果你想总是获得在seconddate上发生的所有事务,我不打扰检查是否相等,检查seconddate是否为0:00:00,如果是,那么同样的addday addseconds修复 (2认同)