null的研究(终篇)&char的开篇

在官方文档中,说null与空字符串是等价的。但是oracle建议不要把他们当成一样,因为以后可能会改变。
另外,他们还是有区别的:
1,is null 或者 is not null,这是整体的,不能把null换成空字符串;
2,在case 或者decode中,null和空字符串也是有区别的;
3,null可以成为boolean类型的第三个值,空字符串不行;
4,plsql中的动态语句中绑定的变量可以传入空字符串,但是不能传入null;


char
总体来说,建议用varcahr2,不建议用char。
char这个东西呢,跟varchar2类似。都是字符串类型,但是char是定长的,就算你的字段值没有这么长,也会在你的值后面加上空格,这无疑会占用更多的空间,同时呢,这个小特性,还使得char在绑定变量以及plsql中有很多容易出问题的地方。

SQL>  CREATE TABLE TEST (A CHAR(10),B VARCHAR2(10));


Table created.


SQL> insert into test values('haha','haha');


1 row created.


SQL> commit;


Commit complete.


SQL> select length(a),length(b) from test;


 LENGTH(A)  LENGTH(B)
---------- ----------
        10          4

就到这,在用sql解趣味题,改天一起发出来


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30123160/viewspace-2058309/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30123160/viewspace-2058309/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值