MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでは、!=NULLとISNOT NULLの違いは何ですか?


値を!=NULLと比較すると、NULLが返されます。したがって、!=NULLは無意味です。 !=NULLとISNOT NULLの違いを確認するために、最初にテーブルを作成しましょう。

まずテーブルを作成しましょう-

mysql> create table DemoTable1970
   (
   Value int
   );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1970 values(10);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1970 values(NULL);
Query OK, 1 row affected (0.00 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1970;

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
|    10 |
|  NULL |
+-------+
2 rows in set (0.00 sec)

違いを理解するためのクエリは次のとおりです-

mysql> select Value!=NULL as Output1,Value IS NOT NULL as Output2 from DemoTable1970;

これにより、次の出力が生成されます-

+---------+---------+
| Output1 | Output2 |
+---------+---------+
|    NULL |       1 |
|    NULL |       0 |
+---------+---------+
2 rows in set (0.00 sec)

  1. MySql<>NULLとISNOTNULLの違いは?

    <>演算子をNULL値と比較すると、常にNULL値が得られ、結果は得られません。 比較のためにいくつかの例を見てみましょう- mysql> select 10 <> NULL; +------------+ | 10 <> NULL | +------------+ | NULL       | +------------+ 1 row in set (0.00 sec) mysql> select NULL <> NULL; +--------------+ | NULL <> NULL | +---

  2. MySQLのTINYINT(1)とブール値の違いは何ですか?

    TINYINT(1)とブール値の間に違いはありません。キーワードBoolまたはBooleanは内部でTINYINT(1)に変換されます。または、BoolまたはBooleanはTINYINT(1)と同義であると言えます。 まずテーブルを作成しましょう- mysql> create table DemoTable (    isMarried Boolean ); Query OK, 0 rows affected (1.77 sec) 表の説明を確認しましょう- mysql> desc DemoTable; これにより、次の出力が生成されます- +-----