.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. データベース
  4. SQL Server
  5. SQLServerでのnullの扱い方について・update文やdelete文でのNULL要素のレコードの操作

SQLServerでのnullの扱い方について・update文やdelete文でのNULL要素のレコードの操作

  • SQL Server
  • データベース
公開日時:   更新日時:
SQLServerでのnullの扱い方について・update文やdelete文でのNULL要素のレコードの操作
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>
    システム
    エンジニア
    SQLServerでNULLのレコードを取得するにはどうすればいいのですか。
    プロジェクト
    マネージャー
    「is null演算子」を使います。その他、NULL以外のレコードを操作するには「is not null演算子」を使います。

    SQLServerでのnullの扱い方について


    今回は、SQLServerでのNULLの扱い方について説明します。

    NULLのレコードを操作(select/update/delete)する方法やNULL以外のレコードを操作する方法を紹介します。また、要素がNULLの場合は指定文字に置換することもできます。

    SQLServerでのNULLの扱い方に興味のある方はぜひご覧ください。

    is null演算子

    SQLServerでは、NULLか否かをチェックする「is null演算子」があります。

    主にwhere句で使用し、NULLのレコードを取得できます。

    ここでは、以下のような”table_1″テーブルがあるとします。

    is null演算子を使った例を見てみましょう。

    実行結果は以下のようになります。

    last_nameがNULLのレコードが取得できていることが分かります。

    このように、SQLServerではis null演算子を使用して、NULLのレコードを取得できます。

    is not null演算子

    SQLServerでは、is null演算子とは逆に、NULLでないレコードを取得できる「is not null演算子」があります。

    実際のSQL文を見てみましょう。

    実行結果は以下のようになります。

    first_nameがNULLでないレコードが取得できていることが分かります。

    このように、SQLServerではis not null演算子を使用して、NULLではないレコードを取得できます。

    nullまたは空白を取得

    先ほどはNULLのレコードを取得する方法を紹介しました。

    ここでは、NULLまたは空白のレコードを取得する方法を紹介します。

    実際のSQL文を見てみましょう。

    実行結果は以下のようになります。

    last_nameがNULLまたは空白のレコードが取得できていることが分かります。

    is null演算子とor句でつないで、NULLまたは空白のレコードが取得します。

    isnull関数

    SQLServerでは、NULLの要素を指定文字列で置換する「isnull関数」があります。

    次のように記述します。

    実際のSQL文を見てみましょう。

    実行結果は以下のようになります。

    nullの要素が空文字”に置換されていることが分かります。

    このように、SQLServerではisnull関数を使用して、NULLの要素を指定文字列で置換します。

    caseでnullを取得する

    先ほどはisnull関数を使用して、NULLの要素を指定文字列で置換する方法を紹介しました。

    isnull関数ではなく、case文でも同じことができますので、その方法を紹介します。

    実際のSQL文を見てみましょう。

    実行結果は以下のようになります。

    このように、SQLServerではcase文でも、NULLの要素を指定文字列で置換できます。

    update文やdelete文でnullを扱う

    select文だけでなく、update文やdelete文のwhere句でも、NULL要素のレコードの操作ができます。

    それではupdate文の例を見てみましょう。

    実行結果は以下のようになります。

    last_nameがNULLのレコードを更新できていることが分かります。

    次に、delete文の例を見てみましょう。

    実行結果は以下のようになります。

    first_nameがNULLのレコードが削除されていることが分かります。

    このように、select文だけでなく、update文やdelete文のwhere句でも、NULL要素のレコードの操作ができます。

    システム
    エンジニア
    NULLはisnull関数やcase文でも操作できるのですね。
    プロジェクト
    マネージャー
    はい。update文やdelete文でもnullを扱うことができます。

    まとめ

    いかがでしたでしょうか。SQLServerでのNULLの扱い方について説明しました。

    NULLのレコードを操作(select/update/delete)する方法やNULL以外のレコードを操作することができます。また、要素がNULLの場合は指定文字に置換することもできます。

    ぜひご自身でSQL文を書いて、理解を深めてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job