サードパーティのコンポーネントから返されるデータテーブルがあるため、SQL文字列を変更して必要なものを取得する方法がありません。だから、私はいくつかの列を持つテーブルを取得します、それらはすべて文字列です。列の1つは文字列型の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-074:42pm:dataRowsの定義を追加しました。タイプですDataRow()