仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 496|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL编程:NULL及DUAL详解

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:30:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-19 15:54:06 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
只想知道 该用户已被删除
板凳
发表于 2015-1-24 14:01:22 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
海妖 该用户已被删除
地板
发表于 2015-2-1 16:31:38 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
变相怪杰 该用户已被删除
5#
发表于 2015-2-7 08:49:09 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
精灵巫婆 该用户已被删除
6#
发表于 2015-3-6 20:19:55 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
分手快乐 该用户已被删除
7#
发表于 2015-3-13 08:09:44 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
深爱那片海 该用户已被删除
8#
发表于 2015-3-20 17:16:56 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-3 23:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表