在编程语言和
数据库中表示这类
可选元素是件困难的事情。在很多情况下,通过向数据库插入 null 值来表示空的可选
元素,但是要检索数据库中的 null XML 值会非常困难。本文发现一种处理可选 XML 元素的便捷方法,它不需要进行数据重载或插入 null 或其他标记值。随着存储设备的性价比不断升高,人们再也不需要删除数据了。随之而来的是不断增长的数据量,并且,由于没有任何技术是真正免费的(包括开源技术),因此出现了数据管理需求。数据量激增问题目前刚刚开始影响主流用户,但对大型的数据服务提供组织而言,这个问题已经是存在多年的 “顽疾”。本文将探讨关系数据管理中的 XML 数据管理。常用缩写词JAR:Java ArchiveXML:可扩展标记语言XSD:XML Schema Infoset Model尽管这些问题都非常重要,但是您将探查一个非常具体的问题 — 这个问题会严重影响数据设计、数据检索和客户机代码管理。这个问题就是在关系数据库中表示可选 XML 元素。您将看到,针对可选 XML 元素建模而采用的解决方案将产生深远的影响。路线图本文将介绍许多种技术。为了清晰地展示主题,下面列出了我们将要讨论的内容:XSD 和 XML 的简要回顾通过 Java Architecture for XML Binding (JAXB) 建立起 XML 和 Java�6�4 的联系发布 Java 类数据的简单引擎数据库实体类解决可选 XML 数据的问题首先从一些数据定义开始。XSD 中可选的 XML 元素清单 1 提供了来自 XSD 文档的一个片段,其中指定了一个名为 comment 的可选因素。这个 XSD 文档定义了一个购订单。通常称为业务对象,您可以将这类订单看作应用程序域中的一个重要实体。换句话说,系统用户通常需要与这类业务对象进行交互 — 从而创建订单、修改现有订单,等等。重点在于 清单 1 描述了建模典型业务对象的起点。清单 1. 包含一个可选元素的 XSD 类型定义
nvl函数这个函数的格式是select nvl(arg,n) from dual
解释一下,就是如果arg这个参数是null的话,那么就用n这个数,这就跟赋值差不多。
要是想让oracle函数中null值变为零:
可以用这个语句:select nvl(arg,0) from dual
这句话的意思就是,如果参数arg是Null的话,那么就用0,实际上也就是0代替了n的位置而已。
在Java程序中调用sql语句时,如果返回结果是null,是非常容易引发程序抛出空指针异常的。
但使用IFNULL语句,如果where条件中的name值是不存在的,那么仍将返回null,例如:
这时候,需要改写成下面的形式:
其他,AVG、COUNT等用同样方式处理,而且,无论wher条件存在不存在,结果都是会返回0的。
评论列表(0条)