在我的查询中,当 RowNum =1 时,不会获取到空值。
在这个查询中,当ROWNUM = 1时,不能获取到NULL值。这个问题的原因是在WHERE子句之后应用了ORDER BY子句,而WHERE子句只返回一个未定义顺序的行。为了先排序,然后选择顶部的行,可以使用子查询。
解决方法是使用子查询来先排序,然后选择顶部的行。具体的查询语句如下:
Select PRE_LAST_DATE From (Select AT.PRE_LAST_DATE From AUTHORIZATION AT Where AT.PROJECT_ID = 5 and AT.PRE_DESIG_ID = 48 Order By AT.ID Desc) Where ROWNUM = 1;
这个查询首先在内部子查询中根据条件进行筛选和排序,然后在外部查询中选择ROWNUM = 1的行,以获取排序后的第一行结果。这样就可以确保在ROWNUM = 1时不会获取到NULL值。
通过使用这个修正后的查询语句,就可以解决在ROWNUM = 1时无法获取NULL值的问题。