db2 10 往一个测试表里插入空字符串'',但是查询出来后,该字段为null

 我来答
tj_angela
2014-04-17 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2570万
展开全部
我这里'' 和null是不一样的.db2可以区分的

insert into tab values(1,'JACK','0001','2000');
insert into tab values(2,'TOM','0002','');
insert into tab values(3,'LUCY','0003','3000');
insert into tab values(4,'JAME','0004','');
insert into tab values(4,'KIM','0005',null);

db2 => select * from tab;
select * from tab
ID NAME EMPID SALARY
----------- -------------------------------------------------- ---------- ---------------
1 JACK 0001 2000
2 TOM 0002
3 LUCY 0003 3000
4 JAME 0004
4 KIM 0005 -
5 record(s) selected.
db2 => select * from tab where salary not in ('2000','3000');
select * from tab where salary not in ('2000','3000')
ID NAME EMPID SALARY
----------- -------------------------------------------------- ---------- ---------------
2 TOM 0002
4 JAME 0004
2 record(s) selected.
db2 => select * from tab where salary is null;
select * from tab where salary is null
ID NAME EMPID SALARY
----------- -------------------------------------------------- ---------- ---------------
4 KIM 0005 -
1 record(s) selected
追问
您好,你的解释是对的,db2 本来就是分''和null的,Oracle似乎是不分的,但是我现在用的db2 10,结果不分了,应该是数据库哪个配置没有配置好,开始以为是db2 兼容Oracle特性开了,结果给关了依然把''当成null,所以很费解,对于您的感谢,您的回答 我给设为满意了
百度网友9441b840e
推荐于2018-04-11 · 超过32用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:81.4万
展开全部
根据数据库的不同,数据库是给'' null 也是不同的,你可以采用
is not ll

case when 值 is not null then '' else 'null' end

decode(值,'','空,'null','null值',' ','空格')

length(值)>0

等方式来进行判断
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
musen0
2014-04-16 · 超过10用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:29.4万
展开全部
帮你问了下,只有个大概的答案:
也许是数据库看到你插入的是空就判定你没有插入数据,貌似我以前也遇到过类似的问题,如果还存在有别的非空字段这条数据就会存在
追问
您好,按说Oracle插入‘’会变成null ,但是db2 插入的话,应该是跟一般字符一样的,我记得我在其他db2上查询表,where column = ‘’ 这个会把数据中的‘’查出来,但是我现在用的db2 insert into table values ('') 之后,无论从客户端查看,还是通过命令查看,显示数据都为null,而且上面的where条件不起作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式