MySQL Boolean条件
Boolean 是最简单的数据类型,它总是返回两个可能的值,true 或 false。它始终可以用于以 YES 或 No 值的形式获得确认。
MySQL 不包含内置的 Boolean 或 Bool 数据类型。它们提供TINYINT数据类型,而不是 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;
您将获得以下输出:
热门文章
优秀文章