Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并DateTime类型的两个DataColumns_C# - Fatal编程技术网

C# 合并DateTime类型的两个DataColumns

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

我有一个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.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没有被识别出来