我有一个由第 3 方组件返回的数据表,因此我无法更改 SQL 字符串以获得我想要的。所以,我得到一个有几列的表,它们都是字符串。其中一列是BILLDATE,它是字符串类型,但实际上以MM/DD/YYYY格式保存日期。
问题:我需要按降序对记录进行排序并选择日期最大的记录。
代码:
Dim dataRows As DataRow()
Dim dt As New DataTable
dt = GetTable()
dataRows = dt.Select("", "BILLDATE DESC")
样本数据:
10/23/2010
9/23/2010
8/23/2010
7/23/2010
6/23/2010
从样本数据中,9/23/2010
记录作为第一条记录返回,而不是10/23/2010
. 这是我尝试过的:
dataRows = dt.Select("MAX(CONVERT(DateTime,BILLDATE))", "")
- 运行时错误
dataRows = dt.Select("", "Convert(BILLDATE,'System.DateTime')")
- 运行时错误
我不希望遍历所有记录以获取最新日期并选择它。有任何想法吗?
编辑 1 - 2012-12-07 4:42pm:添加了 dataRows 的定义。它是类型DataRow()