`

关于ORACLE中的布尔型处理问题

阅读更多
引自网络

说明:oracle中的boolean数据类型仅限于PL/SQL,oracle本身没有默认的提供布尔型的存储方式

在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Boolean 数据类型。)

任何布尔定义的字段还应该被正确进行约束检查,以确保在插入/更新时输入了有效的值。

create table tbool (bool char check (bool in ('N','Y'));
insert into tbool values ('N');
insert into tbool values ('Y');

最常见的设计是模拟很多 Oracle 的数据字典视图中使用的类似布尔的标志,选择‘Y’表示真,‘N’表示假。然而,要正确地与宿主环境交互,比如与 JDBC、OCCI 和其它编程环境交互,最好选择0表示假,选择1表示真,从而使getBoolean 和setBoolean 能够正确地处理它们。

We could define a Boolean as NUMBER(1); however, in Oracle's internal number format, 0 takes 1 byte and 1 takes 2 bytes after the length byte (so it's more efficient to store it as CHAR). Even though the character is defined as CHAR, SQL can convert and verify against actual numbers.

我们可以将一个布乐类型定义为 NUMBER(1);然而,在 Oracle 的内部数字格式中,0在长度字节之后占用一个字节,而1在长度字节之后占用两个字节(所以更加高效地方式是将其存储为 CHAR)。即使字符被定义为 CHAR,SQL 也可以转换和验证实际的数字。

create table tbool (bool char check (bool in (0,1));
insert into tbool values(0);
insert into tbool values(1);
分享到:
评论

相关推荐

    Oracle PLSQL详解 宝典

    2. **数据类型**:熟悉Oracle数据库支持的数据类型,包括数值型、字符型、日期型、布尔型以及复合数据类型如记录和数组。 3. **存储过程与函数**:学习创建、调用和管理存储过程和函数,理解它们在数据库中的作用,...

    oracle变量的总结

    - `BOOLEAN`:虽然Oracle本身不直接支持布尔类型,但在实际应用中可以通过`CHAR`等类型来模拟布尔值。 - **复合变量** - `%ROWTYPE`:用于存储表中一行的所有列。 - `RECORD`:用于存储一组相关联的字段,这些...

    oracle SQL语法大全

    Oracle支持多种数据类型,包括数值型(如NUMBER、INTEGER)、字符串型(如VARCHAR2、CHAR)、日期时间型(如DATE)、布尔型(BOOLEAN)和大对象(LOB)等。正确选择数据类型对于数据库性能至关重要。 四、条件...

    SQL(oracle)教程(PPT版)

    1. **数据类型**:SQL中的基本数据类型包括数值型(如NUMBER)、字符串型(如VARCHAR2)、日期型(如DATE)和布尔型(如BOOLEAN)。Oracle SQL还提供了一些特有的数据类型,如CLOB(大对象,存储文本数据)和BLOB...

    Oracle 10g 操作手册 Oracle数据类型精解

    5. **布尔型**:BOOLEAN仅存在于PL/SQL中,表示逻辑值TRUE、FALSE或NULL。 6. **对象型**:Oracle支持自定义数据类型,如CREATE TYPE语句定义的对象类型。 7. **集合型**:VARRAY和NESTED TABLE是两种集合类型,...

    PLSQL Oracle8i程序设计

    PLSQL支持多种内置数据类型,包括数值型(NUMBER、INTEGER、BINARY_INTEGER)、字符型(VARCHAR2、CHAR)、日期型(DATE)、布尔型(BOOLEAN)以及各种复合数据类型,如记录(RECORD)和数组(PL/SQL TABLE)。...

    oracle11g 之plsql

    PL/SQL支持多种数据类型,如数值型(NUMBER)、字符串型(VARCHAR2、CHAR)、日期型(DATE)和布尔型(BOOLEAN)。变量必须先声明后使用,可以通过ASSIGNMENT运算符(:=)来赋值。 3. **流程控制** - **条件控制*...

    通过xlrd读取excel生成oracle的建表语句

    在IT行业中,数据管理和操作是至关重要的任务,尤其是在大型企业或组织中,Oracle数据库系统因其高效、稳定和可扩展性而被广泛采用。本话题主要关注如何利用Python的xlrd库来读取Excel文件,并根据其中的数据生成...

    PowerDesigner字段与Oracle字段对应

    在数据库设计过程中,PowerDesigner 和 Oracle 之间的字段对应关系是至关重要的,因为它直接影响到数据的存储和处理。PowerDesigner 是一款强大的数据建模工具,它允许用户创建概念数据模型(CDM)和物理数据模型...

    oracle(proc程序设计.rar

    PL/SQL支持多种数据类型,包括数值型(如NUMBER)、字符型(如VARCHAR2、CHAR)、日期型(DATE)、布尔型(BOOLEAN)以及复合数据类型如记录(RECORD)和表类型(TABLE)等。理解这些数据类型对于编写有效和高效的PL...

    oracle_oracle_oraclepl/sql_

    2. **变量和数据类型**:PL/SQL支持多种数据类型,包括数值型(如NUMBER)、字符型(VARCHAR2和CHAR)、日期型(DATE)、布尔型(BOOLEAN)以及复合和对象类型。 3. **流程控制**:PL/SQL提供了IF-THEN-ELSIF-ELSE...

    Oracle资料学习PL/SQL必备

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级数据存储和管理中占据着重要地位。PL/SQL(Procedural Language/Structured Query Language)是Oracle专为数据库操作设计的一种过程化编程语言,...

    oracle存储过程使用文档

    - `%FOUND`:布尔型,描述最后一次`FETCH`的结果,与`%NOTFOUND`相反。 - `%ROWCOUNT`:数字型,描述当前取值的条数。 #### 六、示例:使用游标查询部门10的所有雇员信息 - **示例目的**:查询部门10的所有雇员的...

    oracle 隐式游标,显示游标,游标循环

    在Oracle数据库中,游标是一种非常重要的机制,它允许用户在程序中对查询结果进行逐行处理。游标分为两种主要类型:**隐式游标**和**显示游标**。此外,还可以利用游标进行循环处理,以实现更复杂的数据操作需求。 ...

    数据库oracle中PLSQL语句简介及使用方法的举例说明

    PL/SQL支持多种数据类型,包括数值型(如NUMBER)、字符型(如VARCHAR2, CHAR)、日期型(DATE)、布尔型(BOOLEAN)以及复合数据类型如记录(RECORD)和集合(TABLE)。 三、PL/SQL的变量声明 在PL/SQL中,可以...

    PLSQL.rar_oracle_oracle相关文档

    2. **PL/SQL数据类型**:PL/SQL支持多种数据类型,包括数值型(如NUMBER)、字符型(如VARCHAR2和CHAR)、日期时间型(如DATE)、布尔型(BOOLEAN)以及各种复合和记录类型。 3. **PL/SQL程序单元**:包括过程...

    ORACLE_PLSQL.rar_oracle_plsql

    2. **数据类型**:Oracle PL/SQL支持多种数据类型,包括数值类型(如NUMBER、INTEGER)、字符类型(VARCHAR2、CHAR)、日期时间类型(DATE)、布尔型(BOOLEAN)以及复合和引用数据类型。 3. **变量和常量**:变量...

    oracle 性能oracle 性能oracle 性能oracle 性能

    2. MAX_SHARED_SERVERS:此参数用于设定系统中可同时运行的最大共享服务器进程数,对于处理大量并发连接的系统来说,调整此参数有助于缓解资源争抢问题。 3. PARALLEL_ADAPTIVE_MULTI_USER:当设置为TRUE时,Oracle...

    操作Oracle的php类

    在类的变量定义规则中,以特定的前缀标识不同类型的变量:`C_`代表字符型,`I_`代表整型,`N_`代表数字型,`L_`代表布尔型,`A_`代表数组型。 类中的主要功能包括: 1. **db_logon()**:这个函数用于建立与Oracle...

    oracle数据库开发工具

    3. **变量和数据类型**:PL/SQL支持多种数据类型,如数值型(NUMBER)、字符型(VARCHAR2、CHAR)、日期型(DATE)、布尔型(BOOLEAN)等。变量必须先声明后使用。 4. **流程控制语句**:包括条件语句(IF...ELSIF....

Global site tag (gtag.js) - Google Analytics