下記のようなデータがDataTableに格納されていたとして、DateTime型のValue列の値の中で最も古い日付を取得する方法の紹介となります。下記のようなデータ構成の場合は、2019/12/01を取得することになります。
特定の条件に該当する行数を取得するには、下記のようにComputeメソッドを使います。Computeメソッドの第一引数に”MIN(Value)”とすることで最も古い日付を取得することができます。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
//テーブルを作成する
System.Data.DataTable Table = new System.Data.DataTable();
Table.Columns.Add("ID", typeof(int));
Table.Columns.Add("Value", typeof(DateTime));
Table.Rows.Add(new Object[] { 1, "2020/01/01" });
Table.Rows.Add(new Object[] { 2, "2020-02-02" });
Table.Rows.Add(new Object[] { 3, "2019-12-01" });
Table.Rows.Add(new Object[] { 4, "2020-01-01" });
DateTime dt = Convert.ToDateTime(Table.Compute("MIN(Value)", null));
Console.WriteLine(dt);
Console.Read();
}
}
}
以上となります。