`
eyejava
  • 浏览: 1268516 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle 中'' 本质竟然是null...

    博客分类:
  • DB
阅读更多
http://yangtingkun.itpub.net/post/468/245697

SQL> SELECT 1 FROM DUAL WHERE '' = '';

未选定行

SQL> SELECT 1 FROM DUAL WHERE '' IS NULL;

1
----------
1

SQL> SELECT DUMP(''), DUMP(NULL) FROM DUAL;

DUMP DUMP
---- ----
NULL NULL

上面三个SQL语句,任意一个都足以证明空字符串’’就是NULL。
-------
那sql中如果用 name='' 是根本不会返回值的,但是别的数据库这样又是可以的.为了可移植到别的数据库,难道得写成 name ='' or name is null  ?? 可是这样逻辑 和 =''又不太一样了..这就要求程序里面把''和null 等同看待.

通过hibernate查询返回的是null,不会有"".
分享到:
评论

相关推荐

    oracle

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。本文主要探讨Oracle数据库的基础知识,包括版本历史、基本概念、数据表结构以及开发中的相关操作。 1. **版本历史** ...

    二十三种设计模式【PDF版】

    访问者在进行访问时,完成一系列实质性操作,而且还可以扩展. 设计模式引言 设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难。你必须找到相关的对象,以适当的粒度将它们归 类,再定义类的接口和...

    Oracle中的外连接

    Oracle中的外连接是数据库查询中的一种重要连接类型,它允许用户获取所有来自一个表的数据,即使这些数据在另一个表中没有匹配的记录。这与内连接不同,内连接只返回两个表中有匹配记录的结果。 首先,我们要理解外...

    Oracle并发问题处理

    - **实现方法**:例如,可以为表中的关键字段设置NOT NULL或CHECK约束等,以确保即使在并发情况下也不会出现无效数据。然而,这种方法并不能从根本上解决并发控制问题,更多是作为一种辅助手段。 #### 结论 综上...

    Oracle 40 道面试题及答案.docx

    Oracle 分区的实质是建立一个视图,然后用户直接使用该视图来访问数据。Oracle 分区可以用来提升访问性能和做数据的生命周期管理。 Oracle 的分区可以分为列表分区、范围分区、散列分区(哈希分区)、复合分区。...

    Oracle存储过程学习经典[语法+实例+调用].

    - **定义**: 存储过程是存储在Oracle数据库中的可执行程序单元,通常用于封装复杂的业务逻辑或数据操作任务。 - **组成元素**: 存储过程可以包含SQL语句、PL/SQL代码块以及Java代码等多种编程语言元素。 - **优势...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    mysql生成oracle序列

    在数据库领域中,不同数据库管理系统(DBMS)之间存在显著差异,比如Oracle与MySQL在处理序列(sequence)的方式上就有本质的不同。Oracle提供了内置的支持来管理自动递增的数字序列,而MySQL并没有原生支持序列这一特性...

    oracle 存储过程学习经典

    4. **处理NULL值**: 存储过程中需要特别注意对NULL值的处理,避免出现意外的结果。 #### 八、Java调用Oracle存储过程 - **无返回值的存储过程**: 可以直接调用存储过程,无需关注返回值。 - **有返回值的存储过程*...

    sqlserver与oracle语法对照文档

    针对函数,一个典型的例子是在SQL Server中使用ISNULL函数来检查NULL值,而在Oracle中则需要使用NVL函数。类似的还有,SQL Server中的GETDATE()函数用于获取当前的日期和时间,而在Oracle中则使用SYSDATE。 在编写...

    NC的Oracle优化及异常数据处理

    在企业信息化管理中,Oracle数据库的优化及异常数据处理是保证业务系统稳定运行的关键因素之一。本篇文档详细介绍了SQL优化的本质、途径以及异常数据处理的方法,对于从事Oracle数据库管理的工程师来说,具有较高的...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    她是Oracle ACE,也是OakTable(Oracle社区中著名的“Oracle科学家”的非正式组织)的成员,经常在技术会议上演讲。她的著作还包括 Expert Oracle Practices和Beginning Oracle SQL,博客主页是karenmorton....

    VC+ADO+ORACLE开发.pdf

    ### VC+ADO+ORACLE开发知识点详解 #### 一、ADO简介与原理 **ADO**(ActiveX Data Objects)是微软为了提高数据访问效率而推出的一种轻量级接口,旨在简化开发者对数据库的操作流程。它是基于**OLE DB**(Object ...

    oracle存储过程学习经典[语法+实例+调用

    Oracle存储过程是构建在Oracle数据库中的一个独立的代码块,能够封装复杂的业务逻辑,让程序逻辑转移到数据库层面执行,从而提高数据处理效率和减少网络传输数据量。Oracle存储过程可以包含SQL语句、PL/SQL块、Java...

    Oracle创建索引要做到三个适当.doc

    在Oracle数据库管理中,合理创建索引是一项至关重要的任务,它直接影响着数据库的查询性能和整体效率。然而,创建索引并非简单的操作,而是一项需要深入理解和精心规划的工作。正如文档标题“Oracle创建索引要做到三...

    Oracle学习笔记

    例如,`CHAR`用于存储固定长度的字符数据,`VARCHAR2`则用于存储可变长度的字符数据,两者在当前Oracle版本中无本质区别,但`VARCHAR2`更推荐使用,因为它在各版本间保持兼容性。对于Unicode数据,有`NCHAR`和`...

    oracle 间隔分区

    标题与描述均提到了"oracle 间隔分区",这指向了Oracle数据库中一种高级的数据管理技术,即间隔分区(Interval Partitioning)。间隔分区是Oracle 11g版本中引入的一个重要特性,它允许数据库自动创建分区,从而简化...

    互联网数据库填空(考试小抄).doc

    7. 在 Oracle 标准服务器中,角色的概念是一组权限的集合。 8. 在 SELECT 语句中用 DISTINCT 可以消除指定列中的重复值。 9. 完成以下 SQL 语句以删除 personal 表的 name-index 索引:DROP INDEX name-index。 ...

    MYSQL学习笔记.pdf

    数据库是存储数据的仓库,本质上是一个文件系统,按照特定的格式组织数据。常见的数据库还包括Oracle、DB2、SQL Server、Sybase、SQLite等。 3. 数据库管理系统(DBMS) 数据库管理系统是一种软件,用于创建和管理...

Global site tag (gtag.js) - Google Analytics