从DateTime中提取时间? for Where子句

时间:2015-07-15 22:24:59

标签: sql asp.net datetime

我有一个DateTime类型的字段?我需要过滤时间。我在sql server上使用asp.net。

4 个答案:

答案 0 :(得分:0)

你应该能够:

  

CAST(datetimefield as time)

根据您的SQL版本,您可能需要使用它:

  

CONVERT(char(5),datetimefield,108)

答案 1 :(得分:0)

您需要使用System.Data.Entity(MSDN)中的DbFunction来创建DateTime,然后进行所需的比较。它是这样的:

dbContext.Invoices.Where(r => DbFunctions.CreateTime(r.DueTime.Hour, r.DueTime.Minute,  r.DueTime.Second) == DbFunctions.CreateTime(dateFilter.Hour, dateFilter.Minute, dateFilter.Second));

答案 2 :(得分:-1)

dateTime.Value.ToString("hh:mm:ss.ffff");

答案 3 :(得分:-1)

试试这个

var time = db.Tbl
        .Select(i => i.DateCol)
        .AsEnumerable()
        .Where(date => date.ToString("hh:mm") <YourFilter>);