Mariadb-null-values
MariaDB-ヌル値
NULL値を使用する場合、値が不明であることを忘れないでください。 有効な値である空の文字列またはゼロではありません。 テーブルの作成では、列の指定により、NULL値を受け入れるか拒否するかを設定できます。 NULLまたはNOT NULL句を使用するだけです。 これには、ID番号などのレコード情報が欠落している場合のアプリケーションがあります。
ユーザー定義変数の値は、明示的に割り当てられるまでNULLです。 ルーチンパラメータとローカル変数を保存すると、NULLの値を設定できます。 ローカル変数にデフォルト値がない場合、値はNULLです。
NULLは大文字と小文字を区別せず、次のエイリアスがあります-
- UNKNOWN(ブール値)
- \N
NULL演算子
NULL値を使用したすべての比較はtrueまたはfalseではなくNULLを返すため、標準の比較演算子をNULL(=、>、> =、⇐、<、または!=など)と一緒に使用することはできません。 NULLとの比較、またはNULLを含む可能性がある場合は、「<⇒」(NULL-SAFE)演算子を使用する必要があります。
他の利用可能な演算子は-
- IS NULL-NULL値をテストします。
- IS NOT NULL-NULL値がないことを確認します。
- ISNULL-NULL値を検出すると値1を返し、値がない場合は0を返します。
- COALESCE-リストの最初の非NULL値を返すか、リストがない場合はNULL値を返します。
NULL値の並べ替え
並べ替え操作では、NULL値の値が最も低いため、DESCの順序の結果、下部にNULL値が表示されます。 MariaDBでは、NULL値に高い値を設定できます。
以下に示すように、これを行うには2つの方法があります-
他の方法-
NULL関数
関数は、通常、パラメーターがNULLの場合にNULLを出力します。 ただし、NULL値を管理するために特別に設計された関数があります。 彼らは-
- * IFNULL()*-最初の式がNULLでない場合、それを返します。 NULLと評価されると、2番目の式を返します。
- * NULLIF()*-比較された式が等しい場合はNULLを返し、等しくない場合は最初の式を返します。
SUMやAVGなどの関数はNULL値を無視します。
NULL値の挿入
NOT NULLと宣言された列にNULL値を挿入すると、エラーが発生します。 デフォルトのSQLモードでは、データ型に基づいてNOT NULL列が代わりにデフォルト値を挿入します。
フィールドがTIMESTAMP、AUTO_INCREMENT、または仮想列の場合、MariaDBはNULL値を異なる方法で管理します。 AUTO_INCREMENTカラムに挿入すると、シーケンス内の次の番号がその場所に挿入されます。 TIMESTAMPフィールドでは、MariaDBは代わりに現在のタイムスタンプを割り当てます。 このチュートリアルで後述するトピックである仮想列では、デフォルト値が割り当てられます。
UNIQUEインデックスは多くのNULL値を保持できますが、主キーをNULLにすることはできません。
NULL値と変更コマンド
ALTERコマンドを使用して列を変更すると、NULL指定がない場合、MariaDBは自動的に値を割り当てます。