Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何存储一个布尔值,该值不带引号地接受yes或no?_Sql_Database - Fatal编程技术网

Sql 如何存储一个布尔值,该值不带引号地接受yes或no?

Sql 如何存储一个布尔值,该值不带引号地接受yes或no?,sql,database,Sql,Database,对于我的赋值,我需要帮助存储一个布尔值,该值可以包含yes或no。列名是必需的,我收到的列属性是布尔值(1/0或T/F),默认值:NULL 我在下面列出了要使用的样本数据。是/否必须以某种方式不带引号地存储。多谢各位 INSERT INTO CIS_Courses VALUES ("CIS 105", "Computer Applications and Information Technology", null, Yes); 布尔数据类型在sql server中不可用 您可以使用位数据类型来

对于我的赋值,我需要帮助存储一个布尔值,该值可以包含yes或no。列名是必需的,我收到的列属性是布尔值(1/0或T/F),默认值:NULL

我在下面列出了要使用的样本数据。是/否必须以某种方式不带引号地存储。多谢各位

INSERT INTO CIS_Courses
VALUES ("CIS 105", "Computer Applications and Information Technology", null, Yes);

布尔数据类型在sql server中不可用 您可以使用位数据类型来表示布尔数据。 位字段的值为1,0或null

它还使用字符串“true”和“false”代替1或0,如下所示-

declare @a bit = 'false'
print @a                   --output 0

declare @b bit = 'true'
print @b                   -- output 1
我总是使用tinyint(1)作为布尔类型值。您的表列如下所示:

ColumnName tinyint(1) not null default 0
因此,当您不插入值时,它将自动为0,或者您可以插入0或1


我希望这将对您有所帮助

您使用的是MySQL还是SQL Server?请不要标记所有RDBMS。我已经删除了RDBMS标签。编辑要用您正在使用的特定RDBMS标记的问题。我猜是MySQL。(基于那些双引号字符串文字…)我不明白这个问题<代码>是为否值。字符串
'Yes'
将为。但是,如果您的DBMS支持布尔列,您宁愿使用它并存储
true
false
。例如,
在CIS_课程(课程编号、标题、开始日期、确认)中插入值(“CIS 105”、“计算机应用和信息技术”,空,真)tinyint
是通用的,不是所有SQL服务器都支持布尔数据类型。嗯,tinyint不是通用的,但是是的,很多都支持它,其他的也支持一些数字数据类型。因此,您的论点是,
WHERE NOT available
或甚至
HAVING each(available)
将只在支持布尔数据类型(以及此类函数)的特定DBMS中运行,而
WHERE available=0
HAVING MIN(available)=1将在所有DBMS中运行?那么您正在努力使数据库尽可能可移植?这是一个很合理的理由。我想这件事会解决的,是的。因为它没有声明他使用的是哪种类型的数据库。