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

公開日: : 最終更新日:2013/12/10 SQL Server , ,

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」でソートすれば欲しい結果を取得することができます。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

ALTER TABLEで既存のテーブルのプライマリーキー(主キー)を変更する

ALTER TABLEで既存のテーブルのプライマリーキー(主キー)を変更する ALTER TA

記事を読む

SQL Server-登録されているストアドプロシジャーの一覧を取得する

データベースに登録されているストアドプロシジャーの 一覧を取得します。

記事を読む

ISNULLとCOALESCEは動作が異なる

ISNULLとCOALESCEは動作が異なるので注意が必要 とある人が作成したSQLを見ているとC

記事を読む

DEFAULT制約付きのカラムの属性を変更する

DEFAULT制約付きのカラムの属性を変更する SQLServerでDEFAULT制約付きのカラム

記事を読む

CASE WHEN を使って条件ごとの件数を取得する

CASE WHEN を使って条件ごとの件数を取得する あるテーブルに状態を表すフラグを持たせること

記事を読む

SQLServerでsp_renameを使ってテーブルの列名を変更する

SQLServerで列名を変更するには sp_renameを使って列名を変更 SQLServ

記事を読む

SQLServerのテーブルやカラムにコメントをつける方法

SQLServerでテーブルやカラムにコメントをつける SQLServerで作成したテーブルやカラ

記事を読む

SQLサーバ

連番中で 「歯抜け」の番号を見つけ出すSQL

テーブル内の連番の歯抜け番号を探す よくある処理でテーブルに設定されている連番の中で 「歯抜け」

記事を読む

SQLServerのテーブルロック状態を取得するSQL

SQLServerのデッドロックを調査している中で ロックの状態を調べるSQLがあることが 判明

記事を読む

SQLServer

SQLServerでクライアントのIPアドレスを取得する

SQLServerでクライアントのIPアドレスを取得する SQLを発行したクライアントのIPアドレ

記事を読む

データベースに登録されている内容を固定長の長さで出力する(2)

登録されている内容を固定長の長さで出力する 先日作成したデータベース

SQLServerで自動で連番を設定する

カラムに自動で連番を設定する 自動で連番を設定し、レコードを管理する

SQLServerでsp_renameを使ってテーブルの列名を変更する

SQLServerで列名を変更するには sp_renameを使って列

SQLServer
SQLServerでストアドプロシージャ名を取得する

SQLServerでストアドプロシージャ名を取得する ストアドプ

SQLServerのエラーコード一覧

SQLServerで発生するエラーコードとその内容を表にしてみました。

→もっと見る



PAGE TOP ↑