MySQL中“ AND”和“ &&”之间的区别?

注意:AND和&&之间只有一个区别,即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。任何非零值都将为true,这意味着如果我们对两个负数进行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中“ AND”和“ &&”之间的区别? 的全部内容, 来源链接: utcz.com/z/327125.html

回到顶部