在 MySQL 中使用布尔数据类型
Preet Sanghavi
2023年1月3日
2022年5月14日
在本教程中,我们旨在了解如何在 SQL 中使用布尔数据类型。
数据库开发人员偶尔会使用布尔数据类型,只允许两个可能的值,True
或 False
。只有两个可能的值使事情变得更容易。
虽然 Boolean 不是 SQL Server 中支持的数据类型,但有一种方法可以在 SQL 中存储布尔值。此方法涉及在 SQL 中使用 BIT
数据类型。
在本文中,我们将介绍 SQL Server 中的位数据类型。对于 SQL Server,位数据只能采用以下值之一:0、1、NULL。
关于存储,对于少于九列的表,位数据以一个字节存储。对于 9 到 16 个这样的列的表,位数据占用 2 个字节。
此外,SQL 表中的字符串值可以转换为 BIT
值。让我们试着理解这个语句是如何工作的。
然而,在我们开始之前,我们创建了一个虚拟数据集来使用。在这里,我们创建了一个表,student_details
,以及其中的 stu_firstName
、stu_lastName
、stu_passed
和 stu_id
列。
注意
stu_passed
列采用 1 或 0 的布尔值来指示学生通过与否。1 代表学生通过,2 代表学生不及格。-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
stu_passed BIT,
primary key(stu_id)
);
现在让我们在表中插入学生详细信息,并将 stu_passed
作为布尔值。
-- insert bulk rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName,stu_passed)
VALUES(1,"Preet","Sanghavi",0),
(2,"Rich","John",1),
(3,"Veron","Brow",0),
(4,"Geo","Jos",1),
(5,"Hash","Shah",1),
(6,"Sachin","Parker",1),
(7,"David","Miller",0);
上面的代码将在表 student_details
中输入学生数据。我们可以使用以下命令可视化此表:
SELECT * from student_details;
上述代码块将生成以下输出:
stu_id stu_firstName stu_lastName stu_passed
1 Preet Sanghavi 0
2 Rich John 1
3 Veron Brow 0
4 Geo Jos 1
5 Hash Shah 1
6 Sachin Parker 1
7 David Miller 0
正如我们在上面看到的,stu_id
为 1、3 和 7 的学生在 stu_passed
列中的值为 0。这表明这些学生没有通过考试。
另一方面,stu_id
为 2、4、5 和 6 的学生在 stu_passed
列中的值为 1。这表明这些学生已经通过了考试。
使用 BIT
的这种想法有助于我们在 SQL 中存储类似于布尔数据类型的值。因此,我们学习了如何在 SQL 中使用布尔值。
Author: Preet Sanghavi