C# 合并DateTime类型的两个DataColumns
我有一个datatable,它包含两个Datacolumns(date_start,date_sent),我想将它们合并到一个列(date_order),然后应用如下排序:C# 合并DateTime类型的两个DataColumns,c#,C#,我有一个datatable,它包含两个Datacolumns(date_start,date_sent),我想将它们合并到一个列(date_order),然后应用如下排序: DataRow[] dtSorted = dt.Select(null, "date_order DESC",DataViewRowState.CurrentRows); 因为无论何时date_start为null,date_sent都不为null,反之亦然,所以我尝试对datacolumn使用以下表达式: dt.Colu
DataRow[] dtSorted = dt.Select(null, "date_order DESC",DataViewRowState.CurrentRows);
因为无论何时date_start为null,date_sent都不为null,反之亦然,所以我尝试对datacolumn使用以下表达式:
dt.Columns.Add("date_order", typeof(String), "IIF(date_start=NULL,date_sent,date_start)");
但它不起作用。尝试了“ISNULL(date\u start,date\u sent)、date\u start”和“date\u start+date\u sent”之类的方法,但都不起作用
有人能告诉我应该用什么表达吗?谢谢。您应该使用SQL COALESCE关键字,它返回第一个非空参数,例如:
SELECT COALESCE(date_order, date_sent) ...
这将返回第一个非空的过期订单和发送日期,如果您使用C#。。。是您应该寻找的空合并运算符,我认为…基本上等同于tsql中的运算符。FYI,C#有一个类似的运算符-??e、 g.var aorb=a??B太好了,谢谢。仍然很好奇你会如何使用这个表达式,因为COALESCE没有被识别出来