2011-04-07 71 views

回答

1
var dates = from row in mytable 
      select DateTime.Parse(row.DATETEXT); 

有用于DateTime.Parse,允许您指定格式方法重载。

+0

但是DateTime.Parse会在客户端执行,而不是在SQL数据库中执行?我很好奇,如果有可能将查询翻译成tsql CAST并让sql server执行转换。 – 2011-04-07 10:36:27

+1

@Peter:你可以尝试一个直接投射'(DataTime)row.DATETEXT',看看输出了什么SQL。 – 2011-04-07 10:48:26

+0

我试过这个,但是跟踪显示它执行下面的SQL语句:“SELECT [t0]。[DATETEXT] FROM [mytable] AS [t0]”。所以在客户端进行铸造。 – 2011-04-13 10:16:04

-1

其实,你不会需要那个。只是在使用字段值时将其解析为数据时间。这里是一个例子;

var query = from c in mytable 
      select c; 

然后当你使用它;

DateTime _value = (DateTime)query.SingleOrDefault().DATETEXT 

但是如果你想使用它那么多。这里是一个例子;

NorthwindEntities _e = new NorthwindEntities(); 

public void poo() { 

    var query = from e in _e.Products 
       select DateTime.Parse(e.DateText); 

} 
+0

我知道这是完全可能的,我更感兴趣的是看看是否有任何转换为​​SQL的转换为TSQL CAST – 2011-04-13 10:17:49