Sql orderby的Odata重写行为

Sql orderby的Odata重写行为,sql,odata,Sql,Odata,sql表中的日期列可以为null,所以我使用OData获取数据,但如果按asc排序,则null值位于所有其他行的前面。我希望它在所有其他事情之后都能被摧毁: 1. 31.12.2000 2. 31.12.2010 3. null 是否有可能以某种方式覆盖筛选,以便将null值作为DateTime.MaxValue?ANSI标准支持先为null和后为null,但SQL Server没有这些选项 相反,您可以按顺序使用两个键: order by (case when col is not n

sql表中的日期列可以为null,所以我使用OData获取数据,但如果按asc排序,则null值位于所有其他行的前面。我希望它在所有其他事情之后都能被摧毁:

 1. 31.12.2000
 2. 31.12.2010
 3. null

是否有可能以某种方式覆盖筛选,以便将null值作为DateTime.MaxValue?

ANSI标准支持
先为null
后为null
,但SQL Server没有这些选项

相反,您可以按顺序使用两个键:

order by (case when col is not null then 1 else 2 end),
         col asc

不完全是我需要的。下面是我使用的orderby示例
/AccountSet?$select=Address1\u Country,Address1\u City,Name&$orderby=Address1\u Country asc&$filter=(Address1\u Country ne null)和(Address1\u City ne null)

所以如何更改$orderby=Address1\u Country asc,使空值转到队列末尾。因为并没有其他建议,我会把它标记为正确的,因为它指向了我问题的另一个解决方案。不过,我确实更新了DB,并将null更改为DateTime.MaxValue,以便可以使用OData orderby属性进行排序。