0
我有這樣的選擇在VB.Net:VB.Net從數據表中選擇:按字段1排序,如果字段1爲空,則按字段2排序?
Dim thisMonthQuery =
From email In DataTablePickers.AsEnumerable() _
Where (email.Field(Of DateTime?)("GenDateScheduled") IsNot Nothing _
AndAlso email.Field(Of DateTime?)("GenDateScheduled") >= New DateTime(curYear, curMonth, 1)) _
Or (email.Field(Of DateTime?)("GenDateCreated") IsNot Nothing _
AndAlso email.Field(Of DateTime?)("GenDateCreated") >= New DateTime(curYear, curMonth, 1)) _
Select email
我需要按日期對結果。但是,我有兩個日期字段,並且我想要排序的字段可能爲NULL。我想按GenDateScheduled排序,但如果GenDateScheduled爲NULL,我想按GenDateCreated排序。這樣的事情:
Order By (email.Field(Of DateTime)("GenDateScheduled") IsNot Nothing ? email.Field(Of DateTime)("GenDateScheduled") : email.Field(Of DateTime)("GenDateCreated"))
但該行不起作用,它不是有效的VB.Net代碼。我該如何做到這一點?
是的,它做到了!現在我該如何讓它降序? –
找出來,只需在每個Order By子句後添加Descending –