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 > ......