MySQLの「AND」と「&&」の違いは?
注:ANDと&&の違いは1つだけです。それは、ANDが標準であり、&&が所有権構文であるということです。
上記のステートメントを除いて、ANDと&&の間に違いはありません。すべての条件を見てみましょう。
ANDと&&の結果は常に1または0になります。ANDと&&はどちらも論理演算子であることがわかっているため、複数のオペランドがあり、いずれかが値0の場合、結果は0になります。それ以外の場合は1になります。
ANDと&&のデモは次のとおりです。
ケース1(a) :両方のオペランドが1の場合。ANDを使用します。
クエリは次のとおりです。
mysql> select 1 AND 1 as Result;
出力は次のとおりです。
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
ケース1(b) :両方のオペランドが1の場合&&を使用します。
クエリは次のとおりです。
mysql> select 1 && 1 as Result;
出力は次のとおりです。
+--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
ケース2(a) :いずれかのオペランドが0の場合、結果は0になります。ANDを使用します。
クエリは次のとおりです。
mysql> select 1 AND 0 as Result;
出力は次のとおりです。
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
ケース2(b) :いずれかのオペランドが0の場合、結果は0になります。&&を使用します。
クエリは次のとおりです。
mysql> select 1 && 0 as Result;
出力は次のとおりです。
+--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
これがNULLの場合です。
ケース3(a): いずれかのオペランドがNULLの場合、結果はNULLになります。 ANDを使用します。
クエリは次のとおりです。
mysql> select NULL AND 1 as Result;
出力は次のとおりです。
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)
ケース3(b) :いずれかのオペランドがNULLの場合、結果はNULLになります。 &&を使用します。
クエリは次のとおりです。
mysql> select NULL && 1 as Result;
出力は次のとおりです。
+--------+ | Result | +--------+ | NULL | +--------+ 1 row in set (0.00 sec)
注:上記の場合は、1と0だけに依存するわけではありません。ゼロ以外の値はすべて真になります。つまり、2つの負の数のANDまたは&&を実行すると、結果は1になります。
ネガティブなケースを見てください。クエリは次のとおりです。
mysql> select -10 AND -30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.04 sec) mysql> select -10 && -30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
上記で、いずれかの値が0の場合、結果はANDと&&の両方で0になります。クエリは次のとおりです。
mysql> select -10 AND 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
ポジティブなケースを見てください。クエリは次のとおりです。
mysql> select 10 AND 30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec) mysql> select 10 && 30 as Result; +--------+ | Result | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
この場合、いずれかのオペランドが0になると、結果は0になります。クエリは次のとおりです。
mysql> select 10 and 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec) mysql> select 10 && 0 as Result; +--------+ | Result | +--------+ | 0 | +--------+ 1 row in set (0.00 sec)
-
MySQLのintvalue='1'とintvalue=1の違いは?
intvalue=1を使用する必要があります。ステートメントintvalue=’1’は、MySQLによって内部的にcast( ‘1’ as int)に変換されます。 まずテーブルを作成しましょう- mysql> create table DemoTable1566 -> ( -> intvalue int -> ); Query OK, 0 rows affected (0.64 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert
-
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 DemoTa