MySQL 布尔值

2025年3月17日 | 阅读 3 分钟

布尔值是最简单的数据类型,它总是返回两个可能的值,即真或假。它总是可以用来以“是”或“否”的形式获取确认。

MySQL 没有内置的布尔值或 Bool 数据类型。它们提供 TINYINT 数据类型来代替布尔值或 Bool 数据类型。MySQL 将零视为假,将非零值视为真。如果你想使用布尔文字,可以使用 true 或 false,它们总是分别评估为 0 和 1。0 和 1 代表整数值。

执行以下语句以查看布尔文字的整数值

成功执行后,会出现以下结果

MySQL Boolean

MySQL 布尔值示例

我们可以将布尔值作为整数数据类型存储在 MySQL 表中。让我们创建一个 student 表来演示 MySQL 中布尔数据类型的使用

在上面的查询中,我们可以看到 pass 字段被定义为布尔值,当显示表定义时,它包含 TINIINT,如下所示


MySQL Boolean

让我们使用以下查询向上述表中添加两行新数据

当上述查询执行时,MySQL 会立即检查表中的布尔数据类型。如果找到布尔文字,它将被转换为整数值 0 和 1。执行以下查询以从 student 表中获取数据

你将得到以下输出,其中 true 和 false 文字被转换为 0 和 1 的值。

MySQL Boolean

由于 MySQL 始终使用 TINYINT 作为布尔值,我们也可以将任何整数值插入布尔列中。执行以下语句

你将得到以下结果

MySQL Boolean

在某些情况下,你可能需要以 true 和 false 的形式获取结果。在这种情况下,你需要使用 if() 函数与 select 语句一起执行,如下所示

它将提供以下输出

MySQL Boolean

MySQL 布尔运算符

MySQL 还允许我们使用布尔数据类型的运算符。执行以下查询以获取 student 表的所有 pass 结果。

此语句返回以下输出

MySQL Boolean

上述语句仅在值等于 1 时返回 pass 结果。我们可以通过使用 IS 运算符来修复它。此运算符将值与布尔值进行验证。以下语句对此进行了说明

执行此语句后,你将得到以下结果

MySQL Boolean

如果你想查看待定结果,请使用 IS FALSEIS NOT TRUE 运算符,如下所示

您将得到以下输出

MySQL Boolean
下一主题MySQL LIKE 条件