首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Oracle数据库中是否有任何布尔类型?

Oracle数据库中是否有任何布尔类型?
EN

Stack Overflow用户
提问于 2010-09-16 20:43:09
回答 9查看 426.8K关注 0票数 297

Oracle数据库中是否存在类似于Ms SQL Server中的BIT数据类型的布尔类型?

EN

回答 9

Stack Overflow用户

发布于 2010-09-16 20:54:38

Oracle的SQL (而不是PL/SQL)中不仅缺少boolean数据类型,而且他们也没有明确建议使用哪种数据类型。请参阅asktom上的this thread。当有人指出'Y'/'N'依赖于英语时,他们会从推荐CHAR(1) 'Y'/'N'转向NUMBER(1) 0/1,而例如德国程序员可能会使用'J'/'N'

最糟糕的是,他们为这个愚蠢的决定辩护,就像他们捍卫''=NULL的愚蠢一样。

票数 327
EN

Stack Overflow用户

发布于 2014-06-25 05:17:17

不是的。

可以使用:

代码语言:javascript
复制
IS_COOL NUMBER(1,0)

1 - true
0 - false

-享受甲骨文

或使用char Y/N as described here

票数 70
EN

Stack Overflow用户

发布于 2017-06-16 20:27:56

不,Oracle数据库中没有布尔类型,但您可以这样做:

您可以在列上放置check约束。

如果您的表没有检查列,您可以添加它:

代码语言:javascript
复制
ALTER TABLE table_name
ADD column_name_check char(1) DEFAULT '1';

添加寄存器时,默认情况下,此列的值为1。

在这里,您设置了限制列值的检查,只需设置1或0即可

代码语言:javascript
复制
ALTER TABLE table_name ADD
CONSTRAINT name_constraint 
column_name_check (ONOFF in ( '1', '0' ));
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3726758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档