MySQL Boolean条件

Boolean 是最简单的数据类型,它总是返回两个可能的值,true 或 false。它始终可以用于以 YES 或 No 值的形式获得确认。

MySQL 不包含内置的 Boolean 或 Bool 数据类型。它们提供TIN​​YINT数据类型,而不是 Boolean 或 Bool 数据类型。MySQL将零值视为false,将非零值视为true。如果要使用布尔文字,请使用始终计算为 0 和 1 值的 true 或 false。0 和 1 表示整数值。

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

mysql> Select TRUE, FALSE, true, false, True, False;  

执行成功后出现如下结果:

一、MySQL Boolean条件 的示例

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

mysql> CREATE TABLE student (  
    studentid INT PRIMARY KEY AUTO_INCREMENT,  
    name VARCHAR(40) NOT NULL,  
    age VARCHAR(3),  
    pass BOOLEAN  
);  

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

mysql> DESCRIBE student;  

让我们借助以下查询在上表中添加两个新行:

mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);  

当上述查询执行时,MySQL 立即检查表中的布尔数据类型。如果找到布尔值,则将其转换为整数值 0 和 1。执行以下SQL以从学生表中获取数据:

mysql> SELECT  studentid, name, pass FROM student;  

您将获得以下输出,其中true/false被转换为 0 和 1 值。

在某些情况下,您需要得到true/false的结果。在这种情况下,您需要使用 select 语句执行 if() 函数,如下所示:

mysql> SELECT  studentid, name, IF(pass, 'true', 'false') completed FROM student1;  

它将给出以下输出:

二、MySQL Boolean布尔运算符

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

SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;  

此语句返回以下输出:

上面的语句只有在值等于 1 时才返回通过结果。我们可以使用IS运算符来修复它。此运算符使用布尔值验证该值。以下语句解释了这一点:

SELECT studentid, name, pass FROM student1 WHERE pass is TRUE; 

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

如果要查看结果,请使用IS FALSE或IS NOT TRUE运算符,如下所示:

SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE;  

或者

SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;  

您将获得以下输出:

热门文章

优秀文章