数据表中的批量更新列基于另一列

时间:2015-05-19 06:27:10

标签: c# datetime datatable

我有一个数据表,其中包含格式为yyyymmdd的日期。我想在表中添加一个datetime列,其中包含该列的日期值。

现在的问题是该表包含大量记录,并且循环遍历所有记录需要一些时间。有没有办法进行批量更新或使用表达式来自this帖子?

类似的东西:

table.Columns.Add("MyDate", typeof(DateTime)).Expression = 
DateTime.ParseExact("'strDateField'", "yyyymmdd", new CultureInfo("en-US"));

(上面的声明不会编译,这是预期的,但仅发布以提供我想要实现的示例)

1 个答案:

答案 0 :(得分:1)

表达式使用.net公开的SQL函数的限制集来对数据表列进行操作,请参阅https://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(v=vs.110).aspx

您可以尝试下面的安排

dt.Columns.Add("MyDate", GetType(Date)).Expression = "SUBSTRING(strDateField,5,2)+'/'+SUBSTRING(strDateField,7,2)+'/'+SUBSTRING(strDateField,1,4)";