はじめに
コジマです。
NULLのときの場合分けに関しては
CASE WHENよりISNULLを使った方が楽になる場合もあります。
例えば、usersテーブルのint型のageカラムがNULLだった場合に明示的に-1を表示するようにしたいとします。
CASE WHENは汎用性が高く便利ですが、どうしても長くなりがちです。
SELECT *, -- 適当にage2とする (CASE WHEN age IS NULL THEN -1 ELSE age END) age2 FROM users ;
こういう時はISNULLで書く方がすっきりします。
SELECT *, -- 適当にage2とする ISNULL(age, -1) age2 FROM users ;
ISNULLは引数を2つとり、2つ目の引数に1つ目の引数がNULLだった場合に表示する値を記載します。
さいごに
参考URLは以下
https://docs.microsoft.com/ja-jp/sql/t-sql/functions/isnull-transact-sql?view=sql-server-ver15
この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!
もっと学びたい人はこちら
SQLをもっと学びたいエンジニアのためにおすすめのUdemy講座を紹介いたします!
SQLはじめましての人!まずあなたの3時間をください。
この講座でまずこれだけは覚えてくれ!という内容をしっかり押さえることができます。
SQLはプログラミング言語がなんであれ、システム開発に必要になります。
この講座を見て最低限必要な知識を身に着けて実践で貢献できるようになりましょう!
3時間で学ぶ SQL ・データベース 超入門【丁寧な解説+演習問題で SQL データ抽出の基本が身につく】標準 SQL
データベースの設計について学べる講座です。
設計について学べる教材は少ないので、実務でデータベースを触る人にはとてもうれしい講座です。
データベース講座1:データベース論理設計
ちょっとニッチに感じるかもしれませんが、SQLのインデックスを学ぶことができる講座です。
よい性能でSQLを運用するためにはインデックスの理解は必要不可欠です。
CRUD書いて満足するエンジニアを出し抜きましょう。
SQLServerのインデックスを理解して検索を速くする方法
気になった人はぜひ見てみてくださいね!
以上、コジマでした。