CASE式でソートカラムを用意してソートしました。
PostgreSQL上に作成されたデータベースのテーブルに、column1とcolumn2があります。
column1はNULLの場合もありますが、column2はNULL以外の値が必ず入っています。
column1とcolumn2を同一列とみなし、NULLはソートに使わないようにしてソートしなければならなくなりました。
実現方法
方法を考えたところ、以下のSQLで実現できました。SELECT * , CASE WHEN column1 IS NULL THEN column2 ELSE column1 END AS sortcolumn FROM users ORDER BY sortcolumn ASC
CASE式でcolumn1がNULLかどうか判定して、NULLであればcolumn2の値を使い、NULLでなければcolumn1の値を使っています。