使用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
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
9. Oracle8i和Microsoft SQL Server7_0比较 10. Oracle8的不安全因素及几点说明 11. Oracle常见错误代码 12. Oracle常用Script 13. Oracle常用数据字典 14. ORACLE回滚段管理(上) 15. ORACLE回滚段管理(下...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
本书特色:主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2中的差异进行了分析;详细讲解数据库对增、删、改、查等SQL的支持并给出了相应的SQL应用案例;透彻分析函数...
一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭...
Microsoft and Sybase SQL Server 171 Personal Oracle7171 总结172 问与答172 校练场173 练习173 第九天创建和操作表174 目标174 CREATE DATABASE 语句174 建立数据库时的选项175 设计数据库176 建立数据字典176 ...
Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以...
目录 第1章 数据库入门 1.1 数据库概述 1.1.1 数据库与数据库管理系统 1.1.2 数据库能做什么 1.1.3 主流数据库管理系统介绍 1.2 数据库基础概念 ... A.4 Microsoft SQL Server的安装和使用 显示部分信息
里面主要封装了如下特性:数据库连接池(常用的4-5个)、分页查询(oracle,mysql,sqlserver等)、数据转码(空值、特定、列名等)、数据导出(Pdf,excel,html,rtf,xml等)、日志处理、启动jar加载校验机制、...
0842 如何正确地理解和使用SQL中的关键字 503 19.2 比较、逻辑运算符查询 504 0843 如何使用算术运算符号进行比较查询 504 0844 如何使用比较运算符号进行比较查询 504 0845 如何使用AND逻辑运算符查询 ...
目录 第1章 数据库入门 1.1 数据库概述 1.1.1 数据库与数据库管理系统 1.1.2 数据库能做什么 1.1.3 主流数据库管理系统介绍 1.2 数据库基础概念 ... A.4 Microsoft SQL Server的安装和使用 显示部分信息
目录 第1章 数据库入门 1.1 数据库概述 1.1.1 数据库与数据库管理系统 1.1.2 数据库能做什么 1.1.3 主流数据库管理系统介绍 1.2 数据库基础概念 ... A.4 Microsoft SQL Server的安装和使用 显示部分信息
目录 第1章 数据库入门 1.1 数据库概述 1.1.1 数据库与数据库管理系统 1.1.2 数据库能做什么 1.1.3 主流数据库管理系统介绍 1.2 数据库基础概念 ... A.4 Microsoft SQL Server的安装和使用 显示部分信息
说明: 用于指定数据库为远程 PL/SQL 存储的过程处理被依赖对象的方式。如果设置为 TIMESTAMP, 只有在服务器与本地时间戳相匹配的情况下, 才能执行该过程。如果设置为 SIGNATURE, 在签名安全的情况下即可执行该过程。...
在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。其中,在专用服务器模式中为每个用户进程创建一个服务器进程,用户进程与服务器进程之间...
本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到sql 的知识和方法。 本书注重实用性,操作性很强,适合于sql 的初学者学习...
实现类似SQLServer2008的查询分析器的功能,方便编写代码时想进行数查询. 数据库表和字段的搜索功能. 版本更新: 1.新版本中增加了强大的模板代码生成功能,可以自己创建和编辑模板动态生成代码。模板教程详见...