`
mamaoyuan625
  • 浏览: 177176 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle 和sqlserver处理空值

阅读更多

使用hibernate 框架时候,利用hql插入对象到数据库如:

User

 private int uid;

private String uname;

 

如果我们不给uname 赋值,也就说只有uid有值,uname是空值,hibernate处理空值,在数据库是一对单引号,但是我们往往要组合查询时候,就是要查uname=‘’,这时候oracle和sqlserver的处理方式截然不同,

oracle 处理是(HQL) :select * from User u where u.uname is null ,当然u.uname=''肯定查不出来任何数据

 恰恰相反:

sqlserver:select * from User u where u.uname =‘’

 

 我们模拟的是利用hibernate插入数据库的方式,所有数据库中一定是单引号,如果是在PL/sql或者查询分析器中,这样

Sqlserver:

create table t(
        tid int primary key,
        tname varchar 
);
insert into  t(tid) values(1);
insert into  t(tid) values(2);
insert into  t  values(3,'');
insert into  t  values(4,'');
select * from t where tname is null;
select * from  t where  tname = '';

 

结果:tid   tname

         1      NULL
         2      NULL

         tid    tname

 

         3 
         4 
Oracle:

CREATE TABLE t(
       tid NUMBER PRIMARY KEY,
       tname VARCHAR2(20)
);
INSERT INTO t (tid)VALUES(1);
INSERT INTO t (tid)VALUES(2);
INSERT INTO t VALUES(3,'');
INSERT INTO t VALUES(4,'');
COMMIT;

SELECT * FROM t WHERE tname IS NULL;
SELECT  * FROM t WHERE tname ='';

 结果:tid   tname

          1 
          2  
          3 

          4 


         tid    tname

 

在处理空值时一定要小心,备忘

分享到:
评论

相关推荐

    oraclesql判断值为空-Oracle-sqlserver的空值(null)判断.pdf

    Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来判断值为空或 Null。`NVL` 函数的语法...

    实现ORACLE与SQLSERVER数据库间的数据抽取与转换工具

    总结来说,实现“Oracle与SQLServer数据库间的数据抽取与转换工具”涉及的主要知识点包括:数据库连接、SQL查询、数据转换规则、多数据库系统间的语法差异理解和编程实现。这个工具的源代码压缩包"复件 zExtractor...

    oracle和sqlserver数据迁移VB代码

    在IT行业中,数据库管理系统(DBMS)如Oracle和SQL Server是关键的数据存储和处理平台。在不同的业务场景下,有时我们需要将数据从一个数据库系统迁移到另一个,这通常涉及到数据的提取、转换和加载(ETL)过程。...

    oracle 和sql Server 函数对比

    在IT行业中,数据库管理系统(DBMS)是至关重要的组成部分,其中Oracle和SQL Server是最为广泛使用的两种DBMS。它们各自提供了丰富的内置函数来处理数据,包括数值、字符串、日期时间等类型的操作。本文将深入探讨...

    ORACLE与SQLSERVER语法差异分析

    在数据库管理领域,ORACLE和SQL SERVER是两个广泛使用的数据库管理系统,它们在语法上有许多相似之处,但也存在一些显著的差异。以下是对标题和描述中所述知识点的详细说明: 1. **递归查询**: - 在SQL SERVER中...

    oracle和sql server

    在数据库管理系统(DBMS)领域中,Oracle和SQL Server是两个非常知名且广泛使用的解决方案。Oracle是由甲骨文公司开发的企业级数据库系统,以其强大的功能和高度的可靠性而著称;而SQL Server则是由微软公司推出的...

    SqlServer转换Oracle.docx

    本文将围绕《SqlServer转换Oracle.docx》文档中的关键知识点进行详细解析,帮助读者更好地理解和掌握SQL Server到Oracle迁移过程中的技术要点。 #### 二、连接字符串与数据源处理 在文档中提到了一种获取连接字符串...

    oracle与sqlserver函数对比

    本文将深入探讨Oracle与SQL Server中的函数对比,通过具体的示例,揭示两者在处理数据时的不同之处,旨在帮助数据库开发者和管理员更好地理解和掌握这两款系统的特性。 ### 一、数值函数 #### 1. 绝对值函数 - **...

    Oracle与SQL Server 函数大全

    通过以上详尽的对比与示例,我们可以看到尽管Oracle和SQL Server在语法上存在一定的差异,但大多数常用函数的实现逻辑和使用方式非常相似。这对于初学者来说是一个很好的入门指南,帮助他们在两个不同的数据库系统...

    sqlserver导入oracle数据库的数据

    总之,从SQL Server导入数据到Oracle数据库涉及多个步骤,包括设置源和目标数据库连接、选择迁移的表、处理数据类型差异等。理解这些步骤并正确执行,将确保数据迁移的顺利进行。同时,保持对数据库管理和数据迁移...

    sqlserver和oracle数据迁移方案

    ### SQLServer与Oracle数据迁移方案知识点详述 #### 前言 在信息化时代背景下,企业数据业务量急剧增加,对数据库的安全性、稳定性和高效性的需求也达到了前所未有的高度。许多快速成长的企业发现,其早期开发的...

    SQLServer和Oracle常用函数对比

    ### SQLServer和Oracle常用函数对比 本文将对SQLServer与Oracle数据库中常用的数学函数、字符串处理函数以及其他常用功能进行详细对比。通过具体的示例代码,帮助读者更好地理解这两种数据库管理系统在处理相同问题...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    标题与描述均聚焦于SQL Server, Oracle, 和DB2数据库中的SQL语句比较,这是一个对IT专业人士特别是数据库管理员(DBA)、开发人员以及对数据库技术感兴趣的人来说极为实用的主题。以下是对给定文件中提及的关键知识点...

    ORCALE and SQL server

    Oracle 和 SQL Server 是两大主流的关系型数据库管理系统(RDBMS),在企业级应用中广泛使用。它们各自拥有独特的特性和优势,为数据存储、管理和分析提供了强大的支持。 Oracle 数据库是甲骨文公司(Oracle ...

    SQL_Server_vs_Oracle_存储过程语法转换1.30.doc

    - Oracle 的 `NVL` 用于处理空值,转换到 SQL Server 时可使用 `ISNULL` 函数。 5. **自定义函数与存储过程**: - Oracle 使用 `CREATE OR REPLACE` 来创建或更新函数和存储过程。 - SQL Server 需要先检查是否...

    oracle sql调优原则

    ### Oracle SQL调优原则 #### 一、使用索引的重要性 - **索引与全表扫描的对比**:虽然在某些特殊情况下,使用索引可能会稍微慢于...以上原则和技术可以帮助开发者和DBA优化Oracle SQL查询,从而提高系统的整体性能。

    Oracle_SQL_access_MySQL数据库转换工具

    Oracle使用PL/SQL,SQL Server使用T-SQL,而MySQL和Access都支持标准SQL,但各有其语法特性和优化。转换工具会处理这些差异,确保数据在转换过程中能保持完整性和一致性。 在Oracle SQL Access MySQL数据库转换工具...

    Microsoft SQL Server.pdf

    例如,SQL Server 7.0和6.5在处理某些查询时可能会有不同的结果。如在描述中提到的`SELECT @test = 'a'; SELECT right(~est,1)`,在SQL Server 7.0及以后的版本,可能与6.5版本的执行结果不同,这主要是由于版本间的...

    SQL_SERVER应用与开发范例宝典_12357672.part2

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

Global site tag (gtag.js) - Google Analytics