在Oracle数据库中是否存在布尔类型,类似于Ms SQL Server中的BIT数据类型?
当前回答
不。
可以使用:
IS_COOL NUMBER(1,0)
1 - true
0 - false
——享受甲骨文
或者使用这里描述的字符Y/N
其他回答
一个常见的节省空间的技巧是将布尔值存储为Oracle CHAR,而不是NUMBER:
不。
可以使用:
IS_COOL NUMBER(1,0)
1 - true
0 - false
——享受甲骨文
或者使用这里描述的字符Y/N
只是因为还没有人提到它:使用RAW(1)似乎也是常见的实践。
DECLARE
error_flag BOOLEAN := false;
BEGIN
error_flag := true;
--error_flag := 13;--expression is of wrong type
IF error_flag THEN
UPDATE table_a SET id= 8 WHERE id = 1;
END IF;
END;
根据Ammoq和kupa的回答,我们使用默认为0的数字(1),不允许为空。
下面是一个add列来演示:
ALTER TABLE YourSchema.YourTable ADD (ColumnName NUMBER(1) DEFAULT 0 NOT NULL);
希望这能帮助到一些人。
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- MySQL数据库表中的最大记录数
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- HyperLogLog算法是如何工作的?
- 数据库和模式的区别
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- ORA-12505, TNS:监听器当前不知道连接描述符中给定的SID