SQL Server

ORDER BYでNULLのカラムを最後に表示

2013/09/18

ORDER BYでNULLのカラムを最後に持ってくる

SQLで何も考慮せずに「ORDER BY」するとNULLのカラムは先頭に表示されます。

NULLの行は先頭に表示されるパターン

name age
次郎 NULL
一郎 10
三郎 30

NULLの行は最後に表示されるパターン

NULLを最後に持っていくには「CASE WHEN」を使って一工夫します。

name age
一郎 10
三郎 30
次郎 NULL

「CASE WHEN」でNULLの行を「1」に変換し、NULL以外を「0」に変換します。
これでNULLの行は後ろに行くのであとは当初の目的の
「age」でソートすれば欲しい結果を取得することができます。

スポンサーリンク

-SQL Server
-, ,

Copyright© ソフトウェア開発日記 , 2019 All Rights Reserved.