sql >> データベース >  >> RDS >> SQLite

SQLiteはNULLです

    概要 :このチュートリアルでは、SQLite IS NULLの使用方法を学習します およびIS NOT NULL 値がNULLかどうかを確認する演算子。

    SQLiteの概要IS NULL オペレーター

    NULL 特別です。情報が不明または該当しないことを示しています。

    たとえば、曲によっては、誰が書いたかわからないため、ソングライター情報がない場合があります。

    これらの未知のソングライターを曲と一緒にデータベーステーブルに保存するには、NULLを使用する必要があります。

    NULLは、数字のゼロや空の文字列などでも同じではありません。

    特に、NULLはそれ自体と同じではありません。次の式は0を返します:

    NULL = NULL
    Code language: SQL (Structured Query Language) (sql)

    これは、2つの未知の情報を比較できないためです。

    次のtracksを見てみましょう サンプルデータベースのテーブル:

    次のステートメントは、作曲家がNULLのトラックを見つけようとします。

    SELECT
        Name, 
        Composer
    FROM
        tracks
    WHERE
        Composer = NULL;
    Code language: SQL (Structured Query Language) (sql)

    追加のメッセージを発行せずに空の行を返します。

    これは、次の式が常にfalseと評価されるためです。

    Composer = NULL
    Code language: SQL (Structured Query Language) (sql)

    この方法でNULLを使用することは無効です。

    値がNULLかどうかを確認するには、IS NULLを使用します 代わりに演算子:

    { column | expression } IS NULL;
    Code language: SQL (Structured Query Language) (sql)

    IS NULL columnの場合、演算子は1を返します またはexpression NULLと評価されます。

    作曲家が不明なすべてのトラックを検索するには、IS NULLを使用します 次のクエリに示されている演算子:

    SELECT
        Name, 
        Composer
    FROM
        tracks
    WHERE
        Composer IS NULL
    ORDER BY 
        Name;   
    Code language: SQL (Structured Query Language) (sql)

    部分的な出力は次のとおりです。

    SQLite IS NOT NULL オペレーター

    NOT 演算子はIS NULLを否定します 次のように演算子:

    expression | column IS NOT NULL
    Code language: SQL (Structured Query Language) (sql)

    IS NOT NULL expressionの場合、演算子は1を返します またはcolumn はNULLではなく、式または列がNULLの場合は0です。

    次の例では、tracksを検索します 作曲家がNULLではない:

    SELECT
        Name, 
        Composer
    FROM
        tracks
    WHERE
        Composer IS NOT NULL
    ORDER BY 
        Name;       
    Code language: SQL (Structured Query Language) (sql)

    この図は、部分的な出力を示しています。

    このチュートリアルでは、IS NULLを使用して、列または式の値がNULLかどうかを確認する方法を学習しました。 およびIS NOT NULL 演算子。


    1. MySQL-エラー1045-アクセスが拒否されました

    2. SQLでの条件付きUPDATEステートメントの使用

    3. mysqlの同等のデータ型

    4. my.cnfでMySQLのデフォルトの文字セットをUTF-8に変更しますか?