序文このような問題に遭遇したことがあるかどうかはわかりません。MySQL データベースをクエリする場合、条件は status!=1 です。理論上は、条件を満たさない結果はすべてクエリされますが、奇妙なことに、NULL 値の結果はクエリできません。条件またはステータス IS NULL を追加する必要があります。この記事では、MySQL の NULL について説明します。 MySQL の 1 つの NULLMySQL の場合、NULL は特別な値です。 NULL は未知で不確実であることを意味します。NULL はどの値とも等しくありません (NULL 自身を含む) 2 NULLが占める長さデータベース内のNULLの長さ mysql> length(NULL)、length('')、length('1') を選択します。 +--------------+------------+--------------+ | 長さ(NULL) | 長さ('') | 長さ('1') | +--------------+------------+--------------+ | NULL | 0 | 1 | +--------------+------------+--------------+ NULL 列では、値が NULL であるかどうかを記録するために行に追加のスペースが必要です。 空の値 '' の長さは 0 であり、スペースを占有しませんが、NULL の長さは NULL であり、追加のスペースが必要であることがわかります。そのため、一部の開発仕様では、データベース フィールドを Not NULL に設定し、デフォルト値 '' または 0 を設定することが推奨されています。 3 NULL値の比較IS NULLは文字が空かどうかを判定し、空文字または0を表しません。
したがって、数値が NULL と等しいかどうかを判断するには、IS NULL または IS NOT NULL のみを使用できます。 4 SQLはNULL値を処理するMySQL には IFNULL(expr1, expr2) 関数が用意されており、これを使用するとデータ内の NULL を簡単に処理できます。 IFNULL は 2 つのパラメータを取ります。 最初の引数フィールドが NULL でない場合、最初のフィールドの値が返されます。 それ以外の場合、IFNULL 関数は 2 番目の引数の値 (デフォルト値) を返します。 t_userからIFNULL(status,0)を選択します。 5. クエリ条件におけるNULL値の影響
6 NULL値がインデックスに与える影響最初に注意すべきことは、MySQL のデータ列に NULL が含まれていても、必ずしもインデックスが失敗するわけではないということです。 MySQLはNULLを含む列にインデックスを使用できる NULL 値を持つフィールドに通常のインデックス、複合インデックス、全文インデックスなどの共通インデックスを使用すると、インデックスが無効になることはありません。ただし、空間インデックスを使用する場合、列は NOT NULL である必要があります。 7 NULL値がソートに与える影響ORDER BY でソートする場合、NULL 値がある場合は NULL が最小になります。ASC 正順では、NULL 値が先頭になります。 正の順序で並べ替えるときに NULL 値を最後に置く必要がある場合は、IS NULL を使用する必要があります。 select * from t_user order by age is null, age; または、select * from t_user order by isnull(name), age; # select * from (select name, age, (age is null) as isnull from t_user) as foo order by isnull, age; と同等です。 8 NULLと空の値の違いNULL はフィールドに NULL 値を格納することを意味し、空の値はフィールドに空の文字 ('') を格納することを意味します。 1. 占有スペースの違い mysql> length(NULL)、length('')、length('1') を選択します。 +--------------+------------+--------------+ | 長さ(NULL) | 長さ('') | 長さ('1') | +--------------+------------+--------------+ | NULL | 0 | 1 | +--------------+------------+--------------+ セット内の1行 要約: 上記から、null 値 ('') の長さは 0 であり、スペースを占有しないことがわかります。一方、NULL の長さは NULL であり、実際にはスペースを占有します。次の説明を参照してください。
簡単に言うと、空の値は何も入っていない真空カップのようなもので、NULL 値は空気で満たされたカップのようなものです。見た目は同じですが、本質的には異なります。 要約するこれで、MySQL の NULL に関するこの記事は終了です。MySQL の NULL に関する詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: アダプティブ Web デザインの手法 (モバイル フォンでの優れたアクセス エクスペリエンス)
JDK とは何ですか?まあ、この質問がわからないのであれば、なぜこれをインストールするのか本当にわか...
1. 概要Docker イメージを作成するには、次の 3 つの方法があります。 Docker コミッ...
この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...
システムの crontab を使用して定期的にバックアップ ファイルを実行し、バックアップ結果を日付...
MySQL の mysql 5.7.18 zip バージョンは、クリックして次のステップをクリックし...
Docker 学習https://www.cnblogs.com/poloyy/p/15257059...
最近、NestJs フレームワークを学び始めました。学習コストは他のフレームワークよりもはるかに高く...
この記事では、ネイティブ JS で実装されたデジタル時計エフェクトを紹介します。エフェクトは次のとお...
目次1. 同期の原理2. ログスタッシュ入力JDBC 3. go-mysql-elasticsear...
序文プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。こ...
1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...
1. カーディナリティとは何ですか?カーディナリティとは、MySQL テーブルの列内の異なる値の数を...
Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...
シンプルなセカンダリメニューを動的に実装するマウスを第 1 レベルのラベル上に置くと、マウスが小さな...
この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...