hqlのOrderByクエリAscはnullフィールドを最後に、Descはnullフィールドを一番前に

471 ワード

Order by、asc昇順の場合はデフォルトnullが先頭、desc降順の場合はデフォルトnullが最後
DatabaseがOracleの場合、null firstとnull lastを使用してnull値のソート中の位置を処理します.たとえば、
from tables  t  order by  t.b  asc null last // null    

ただしMySQLの場合は特別な処理が必要です
昇順ソートを使用しますがnull列は最後になります
from tables  t   order by -t.b desc  //  -,              ,null     

降順ソートを使用しますがnull列が一番前です
from tables  t  order by -t.b asc //  ,             ,null