首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在使用ISNULL时发现得到的结果还是NULL解决办法

2012-01-26 
在使用ISNULL时发现得到的结果还是NULL首先说明一个:这个问题在客户那里出现的,整库备份的数据在我们这里

在使用ISNULL时发现得到的结果还是NULL
首先说明一个:这个问题在客户那里出现的,整库备份的数据在我们这里没能错误重现,但在客户的机器上错误是可以重现的。
数据库版本SQLServer2000

用一个视图(表B)取出一个表,用RTRIM(ISNULL(FIELD,'') AS FIELD处理了一个字段
现用一个表(表A)与表B进了左联接。表A有数据
条件是B.FIEDL=''
最后取出不数据,但如果再用ISNULL(B.FIEDL,'')=''可以查出数据并且查出的数据FIELD字段值为NULL。

想问的是都有哪些可能性导至这种情况。

[解决办法]
概念问题

一个表(表A)与表B进了左联接,那就允许表B的字段为null,B.FIEDL自然也是null

from A left join B on ... where ...
这里两个...都是写条件,但是意义是不同的




[解决办法]
重建视图
[解决办法]
直接 left join,不带条件的表连接
当 A 有空值的时候,查询出来就会有空值

有条件的连接 on ... ,比如:
left join ...on a.XXX=b.XXX ... where a.xxx is not null
这种连接方法就不会出现空值
[解决办法]
如海兄所说,左连接的问题,
[解决办法]
帮顶一下,人家说在客户哪儿会出现,备份回来不会出现???

[解决办法]
把你的视图代码贴出来看看

热点排行