|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。详解
1.NULL利用详解
经常会有人问到,甚么是NULL?望文生义,NULL就是空,ORACLE中和其他的数据库中,含有空值的表的列的长度为零。ORACLE同意任何一种数据范例的字段为空,除以下两种情形:
1、界说该列为主键字段(primarykey);
2、界说该列时已显式的加了NOTNULL的限定前提的字段。
1.1.详细申明:
1、等价于没有任何值、是未知数;
2、NULL与0、空字符串、空格都分歧;
3、对空值做加、减、乘、除等运算操纵,了局仍为空;
4、NULL的处置利用NVL函数;
5、查询、对照时利用关头字用“isnull”和“isnotnull”;
6、空值不克不及被索引,以是查询时有些切合前提的数据大概查不出来,例如在count(*)中,用nvl(列名,0)处置后再查;
7、排序时比其他数据都年夜(索引默许是降序分列,小→年夜),以是NULL值老是排在最初。
1.2.利用办法举例:
SQL>select1fromdualwherenull=null;
没有查到纪录
SQL>select1fromdualwherenull=;
没有查到纪录
SQL>select1fromdualwhere=;
没有查到纪录
SQL>select1fromdualwherenullisnull;
1
---------
1
SQL>select1fromdualwherenvl(null,0)=nvl(null,0);
1
---------
1
--对空值做加、减、乘、除等运算操纵,了局仍为空。
SQL>select1+nullfromdual;
SQL>select1-nullfromdual;
SQL>select1*nullfromdual;
SQL>select1/nullfromdual;
查询到一个纪录.
1.3.设置某些列为空值
updatetable1setcol1=NULLwherecol1isnotnull;
纯熟利用Oracle的空值用法,熟习它的商定,以确保查出的了局OK。
2.Dual伪列
寄义注释:
Dual是Oracle中的一个实践存在的表,任何用户都可读取,经常使用在没有方针表的Select语句块中。
2.1.利用办法:
--检察以后毗连用户
SQL>selectuserfromdual;
USER
------------------------------
SYSTEM
--检察以后日期、工夫
SQL>selectsysdatefromdual;
SYSDATE
----------
18-4月-03
SQL>selectto_char(sysdate,yyyy-mm-ddhh24:mi:ss)fromdual;
TO_CHAR(SYSDATE,YY
-------------------
2003-04-1822:37:56
--看成盘算器用
SQL>select1+2fromdual;
1+2
----------
3
--检察序列值
SQL>createsequenceaaaincrementby1startwith1;
SQL>selectaaa.nextvalfromdual;
NEXTVAL
----------
1
SQL>selectaaa.currvalfromdual;
CURRVAL
----------
1
MyISAMMysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务 |
|