易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE NULL详解

问:什么是NULL?
答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、等价于没有任何值、是未知数。
2、NULL与0、空字符串、空格都不同。
3、对空值做加、减、乘、除等运算操作,结果仍为空。
4、NULL的处理使用NVL函数。
5、比较时使用关键字用“is null”和“is not null”。
6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。
7、排序时比其他数据都大(索引默认是降序排列,小→大),所以NULL值总是排在最后。
使用方法:
SQL> select 1 from dual where null=null;
没有查到记录
SQL> select 1 from dual where null='';
没有查到记录
SQL> select 1 from dual where ''='';
没有查到记录
SQL> select 1 from dual where null is null;
        1
---------
        1
SQL> select 1 from dual where nvl(null,0)=nvl(null,0);
        1
---------
        1
对空值做加、减、乘、除等运算操作,结果仍为空。
SQL> select 1+null from dual;
SQL> select 1-null from dual;
SQL> select 1*null from dual;
SQL> select 1/null from dual;
以上四条语句均查询到一个记录.
注:这个记录就是SQL语句中的那个null
 
设置某些列为空值
update table1 set 列1=NULL where 列1 is not null;
现有一个商品销售表sale,表结构为:
month  char(6)  --月份
sellnumber(10,2) --月销售金额
create table sale (month char(6),sell number);
insert into sale values('200001',1000);
insert into sale values('200002',1100);
insert into sale values('200003',1200);
insert into sale values('200004',1300);
insert into sale values('200005',1400);
insert into sale values('200006',1500);
insert into sale values('200007',1600);
insert into sale values('200101',1100);
insert into sale values('200202',


相关文档:

oracle 视频笔记1(select)

下面是用scott用户测试的。
如果不知道当前用户是什么用户,可以输入: show user ,这样它就显示出当前用户是什么用户了.
如果想编辑已经输入到sqlplus中的代码,可以输入“ed”,然后回车就能弹出一个记事本,记事本里面有上一步输入的代码,修改代码并保存后关闭记事本,最后在sqlplus中输入“/”并击回 ......

ORACLE ROLLUP和CUBE的使用

ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。
CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。
在文章的最后附上了相关表和记录创建的脚本。
1、向ROLLUP传递一列
SQL> select division_id,sum(salary)
  2  ......

oracle 函数整理(一)

1. ASCII: 返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii(0) zero,ascii('') space from dual; 
   A A ZERO SPACE
   --------- --------- --------- ---------
   65 97 48 
2. CHR:给出整数,返回对应的字符;
SQ ......

Oracle系统管理和系统资料获取的一些基本命令

资料获取自学习何明著作<<Oracle DBA 培训教程>>第二版之时.其中dba_开头的表需要有sysdba权限才能访问.
1. 获取数据库名字,创建日期,当前模式,日志模式等等:
SELECT name,created,log_mode,open_mode from v$database;
2. 获取运行实例的主机名,实例名,版本:
SELECT host_name,instance_name,ve ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号