MariaDB IS-NOT() 函数的基础用法与实例

本文将介绍 MariaDB 中的一个运算符 IS-NOT,它用于对一个表达式的值进行逻辑非运算,即如果表达式的值为真,则返回假,如果表达式的值为假,则返回真。

发布于

MariaDB 是一个开源的关系型数据库管理系统,它是 MySQL 的一个分支。MariaDB 提供了一些扩展的功能,比如存储引擎、插件、函数等。本文将介绍 MariaDB 中的一个运算符 IS-NOT,它用于对一个表达式的值进行逻辑非运算,即如果表达式的值为真,则返回假,如果表达式的值为假,则返回真。

语法

IS-NOT 运算符的语法如下:

expression IS NOT true_or_false

其中,expression 是任意的 SQL 表达式,可以是一个常量、变量、列名、函数调用等。true_or_false 是一个布尔值,可以是 TRUEFALSEUNKNOWN 或者 NULL。如果 expression 的值和 true_or_false 的值相同,则运算符返回 0,表示假。如果 expression 的值和 true_or_false 的值不同,则运算符返回 1,表示真。

实例

下面给出一些使用 IS-NOT 运算符的实例,以及相应的代码和输出结果。

对一个值进行逻辑非运算

在这个实例中,我们尝试对一个值进行逻辑非运算,即如果表达式的值为真,则返回假,如果表达式的值为假,则返回真。我们可以使用如下的 SQL 语句:

SELECT
  1 IS NOT TRUE,
  0 IS NOT TRUE,
  1 IS NOT FALSE,
  0 IS NOT FALSE;

执行该语句后,我们得到如下的输出结果:

+---------------+---------------+----------------+----------------+
| 1 IS NOT TRUE | 0 IS NOT TRUE | 1 IS NOT FALSE | 0 IS NOT FALSE |
+---------------+---------------+----------------+----------------+
|             0 |             1 |              1 |              0 |
+---------------+---------------+----------------+----------------+

对一个未知值进行逻辑非运算

在这个实例中,我们尝试对一个未知值进行逻辑非运算,即如果表达式的值为真,则返回假,如果表达式的值为假,则返回真。我们可以使用如下的 SQL 语句:

SELECT
  1 IS NOT UNKNOWN,
  0 IS NOT UNKNOWN,
  NULL IS NOT UNKNOWN;

执行该语句后,我们得到如下的输出结果:

+------------------+------------------+---------------------+
| 1 IS NOT UNKNOWN | 0 IS NOT UNKNOWN | NULL IS NOT UNKNOWN |
+------------------+------------------+---------------------+
|                1 |                1 |                   0 |
+------------------+------------------+---------------------+

从输出结果可以看出,当表达式的值为 10 时,运算符返回 1,表示真,因为 10 都和 UNKNOWN 的值不同。当表达式的值为 NULL 时,运算符返回 0,表示假,因为 NULLUNKNOWN 的值相同。

对一个列的值进行逻辑非运算

在这个实例中,我们尝试对一个列的值进行逻辑非运算,即如果表达式的值为真,则返回假,如果表达式的值为假,则返回真。我们可以使用如下的 SQL 语句:

-- 创建一个测试表,包含两个列,其中 name 列允许 NULL 值,age 列不允许 NULL 值
CREATE TABLE test (
  name VARCHAR(20),
  age INT NOT NULL
);

-- 插入一些测试数据,其中有一行的 name 列为 NULL
INSERT INTO test VALUES ('Alice', 20), ('Bob', 25), (NULL, 30);

-- 检查 name 列的值是否不是 TRUE
SELECT name, name IS NOT TRUE FROM test;

执行该语句后,我们得到如下的输出结果:

+-------+------------------+
| name  | name IS NOT TRUE |
+-------+------------------+
| Alice |                1 |
| Bob   |                1 |
| NULL  |                1 |
+-------+------------------+

从输出结果可以看出,当列的值是一个非空的字符串时,运算符返回 1,表示真,因为字符串和 TRUE 的值不同。当列的值是 NULL 时,运算符返回 1,表示假,因为 NULLTRUE 不相同。

结论

本文介绍了 MariaDB 中的一个运算符 IS-NOT,它用于对一个表达式的值进行逻辑非运算,即如果表达式的值为真,则返回假,如果表达式的值为假,则返回真。我们通过一些实例展示了该运算符的基本用法和返回值,以及如何与其他相关的函数配合使用。逻辑运算是 SQL 中的一种常用的运算,它可以用于构建复杂的条件判断和过滤。使用逻辑运算时,需要注意表达式的值的类型和语义,以及运算的优先级和结合性。