Ped*_*der 233 sql database oracle boolean sqldatatypes
Oracle数据库中是否有任何布尔类型,类似于BITMs SQL Server中的数据类型?
Eri*_*ler 253
不仅Oracle的SQL(不是PL/SQL)中缺少布尔数据类型,而且他们也没有明确建议使用什么代替.在asktom上看到这个帖子.从推荐CHAR(1) 'Y'/'N'他们切换到NUMBER(1) 0/1有人指出'Y'/'N'取决于英语的时候,而德国程序员可能会'J'/'N'改用.
最糟糕的是,他们捍卫这个愚蠢的决定,就像他们捍卫''=NULL愚蠢一样.
Boh*_*dan 49
不.
可以使用:
IS_COOL NUMBER(1,0)
1 - true
0 - false
Run Code Online (Sandbox Code Playgroud)
---享受Oracle
或者使用此处描述的 char Y/N.
Ale*_*ens 35
根据Ammoq和kupa的答案,我们使用数字(1),默认值为0,不允许空值.
这是一个用于演示的添加列:
ALTER TABLE YourSchema.YourTable ADD (ColumnName NUMBER(1) DEFAULT 0 NOT NULL);
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人.
Rob*_*óes 13
不,Oracle数据库中没有布尔类型,但您可以这样做:
您可以对列进行检查约束.
如果您的表没有检查列,则可以添加它:
ALTER TABLE table_name
ADD column_name_check char(1) DEFAULT '1';Run Code Online (Sandbox Code Playgroud)
添加寄存器时,默认情况下此列为1.
在这里你放一个限制列值的检查,只放1或0
ALTER TABLE table_name ADD
CONSTRAINT name_constraint
column_name_check (ONOFF in ( '1', '0' ));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
314993 次 |
| 最近记录: |