oracle统计每列和,Oracle中统计契合某列条件的列总和

Oracle中统计契合某列条件的列总和

最近在项目报表中需要一个查询语句,用来统计符合某一列条件的其它几列的个数

比如有下面一个表结构:

需要在列D后面增加一列,统计在列A不为空,并且列B、C、D不为空的个数

经过自己试验,查找帮助,总算实现了上面的查询。

首先讲几个函数的用法:

NULL:指的是空值,或者非法值。

NVL (expr1, expr2)

参数说明:如果expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致

NVL2 (expr1, expr2, expr3)

参数说明:如果expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型

NULLIF (expr1, expr2)

参数说明:如果相等返回NULL,不等返回expr1

下面是本人通过两种方法实现的结果

方法一:

代码

1 Select a,

2        b,

3        c,

4        d,

5        Case

6          When a Is Not Null Then

7           Nvl2(b, 1,0) + Nvl2(c, 1,0) + Nvl2(d, 1,0)

8          Else

9           0

10        End E

11   from AA

方法二:

代码

1 Select a,

2        b,

3        c,

4

相关文档:

SQL*Loader 用于将大量数据装入数据库。

⑴、定宽数据

创建数据文件control.txt:

aaa,bbb

ccc,ddd

eee,fff

创建控制文件control.ctl:

load data

infile 'c:\loader.txt'

append

into table tester.mm(

m1 position(1:3) char,

m2 position(5:7) char)

批量加载数据:

sqlldr tester/test control=c:\loade ......

Ubuntu9.04下Oracle手动启动与自启动脚本

一、启动数据库实例

Java代码

gengzhi

@gengzhi

-desktop:~$ su oracle

oracle@gengzhi

-desktop:~$ sqlplus

" scott/tiger  as sysdba"

gengzhi@gengzhi-desktop:~$ s ......

这一章中,我们将分析构成数据库和实例的8 种文件类型。

与实例相关的文件只有:

参数文件(parameter file):这些文件告诉Oracle 实例在哪里可以找到控制文件,并且指

定某些初始化参数,这些参数定义了某种内存结构有多大等设置。我们还会介绍存储数据库参

数文件的两种选择。

跟踪文件(trace file� ......

ORACLE

CREATE OR REPLACE FUNCTION SETSTATE(OLDVALUE VARCHAR2, POS NUMBER, SVALUE VARCHAR2)

RETURN VARCHAR2

IS

RETURN_VALUE VARCHAR2 (20);

LEN NUMBER(8);

I NUMBER(8);

TEMP_VALUE VARCHAR2(1);

BEGIN

LEN := LENGTH(OLDVALUE);

IF POS > ......