select *
from tableA
order by cast(columnA as int), column B.
这是我当前的查询脚本。存在列A为空的情况。并且将列A为空的结果行推送到末尾。
是否有一种方法可以使columnA为null,将行放在columnA不为null的其他行之前?
感谢。
答案 0 :(得分:0)
如果您的dbms支持标准SQL,那么这些行中的某些内容应该有效。
select (case when columnA is null then 0 else 1 end) as sort_order, *
from tableA
order by sort_order, columnA, columnB;
答案 1 :(得分:0)
尝试如下......它会帮助你......
SELECT * FROM tableA ORDER BY (CASE WHEN columnA IS NULL THEN 1 ELSE 0 END) DESC,
CAST(columnA as int), column B
它在NOT NULL结果
之前显示NULL结果答案 2 :(得分:0)
我是Oracle的情况,您可以使用order by columnA NULLS FIRST, columnB