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

nullが存在する場合に等しくない演算子でMySQL構文が評価されませんか?


IS NOT NULL演算子を使用して、NULL値と比較します。構文は次のとおりです-

SELECT *FROM yourTableName where yourColumnName1 is not null or yourColumnName2 <> anyIntegerValue;

nullが存在する場合に等しくないことを確認するには、テーブルを作成します。テーブルを作成するためのクエリは次のとおりです-

mysql> create table IsNullDemo
   −> (
   −> ProductId int,
   −> ProductName varchar(100),  
   −> ProductBackOrder int
   −> );
Query OK, 0 rows affected (0.54 sec)

nullの存在を回避するために、null値を持ついくつかのレコードをテーブルに挿入します。レコードを挿入するためのクエリは次のとおりです-

mysql> insert into IsNullDemo values(100,'First-Product',null);
Query OK, 1 row affected (0.14 sec)

mysql> insert into IsNullDemo values(101,'Second-Product',2);
Query OK, 1 row affected (0.22 sec)

mysql> insert into IsNullDemo values(102,'Third-Product',null);
Query OK, 1 row affected (0.20 sec)

mysql> insert into IsNullDemo values(103,'Fourth-Product',4);
Query OK, 1 row affected (0.17 sec)

mysql> insert into IsNullDemo values(104,'Fifth-Product',10);
Query OK, 1 row affected (0.17 sec)

mysql> insert into IsNullDemo values(105,'Sixth-Product',null);
Query OK, 1 row affected (0.20 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。すべてのレコードを表示するためのクエリは次のとおりです-

mysql> select *from IsNullDemo;

以下は出力です-

+-----------+----------------+------------------+
| ProductId | ProductName    | ProductBackOrder |
+-----------+----------------+------------------+
| 100       | First-Product  |             NULL |
| 101       | Second-Product |                2 |
| 102       | Third-Product  |             NULL |
| 103       | Fourth-Product |                4 |
| 104       | Fifth-Product  |               10 |
| 105       | Sixth-Product  |             NULL |
+-----------+----------------+------------------+
6 rows in set (0.00 sec)

ケース1:

nullの存在を回避するためのクエリは次のとおりです。クエリは次のとおりです-

mysql> select *from IsNullDemo
   −> where ProductBackOrder is not null or ProductBackOrder <> 2;

以下は出力です-

+-----------+----------------+------------------+
| ProductId | ProductName    | ProductBackOrder |
+-----------+----------------+------------------+
|       101 | Second-Product |                2 |
|       103 | Fourth-Product |                4 |
|       104 | Fifth-Product  |               10 |
+-----------+----------------+------------------+
3 rows in set (0.03 sec)

ケース2:

null(または2に等しくない)の存在が必要な場合は常に、ISNULLの概念を使用してください。クエリは次のとおりです-

mysql> select *from IsNullDemo
   −> where ProductBackOrder is null or ProductBackOrder <> 2;

以下は出力です-

+-----------+----------------+------------------+
| ProductId | ProductName    | ProductBackOrder |
+-----------+----------------+------------------+
|       100 | First-Product  |             NULL |
|       102 | Third-Product  |             NULL |
|       103 | Fourth-Product |                4 |
|       104 | Fifth-Product  |               10 |
|       105 | Sixth-Product  |             NULL |
+-----------+----------------+------------------+
5 rows in set (0.00 sec)

  1. MySQLのNOTNULL値に1を設定します

    NOT NULLを設定するには、ISNOTNULLを使用して値を見つけます。構文は次のとおりです- select if('' is not NULL,1,0) as anyAliasName; これが実際のクエリです- mysql> select if('' is not NULL,1,0); これにより、次の出力が生成されます- +------------------------+ | if('' is not NULL,1,0) | +------------------------+ |      

  2. nullの場合は列Aを更新し、そうでない場合は列Bを更新します。それ以外の場合は、両方の列がnullでない場合はMySQLで何もしません。

    このためには、IS NULLプロパティでIF()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1976    (    FirstName varchar(20),    LastName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1976 values(