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

同一SQL不同结果解决办法

2012-01-20 
同一SQL不同结果同一Sql在不同的SQL服务器上执行得出结果有所不同,现象如下:selecta.ID,a.Str,...fromatmp

同一SQL不同结果
同一Sql在不同的SQL服务器上执行得出结果有所不同,现象如下:
select   a.ID,   a.Str,...   from   atmp   RIGHT   OUTER   JOIN   btmp   --ID为整型,Str为字符串(实际SQL比这个复杂)。
结果1:
ID         Str       .........
0                       .........
34         dfsa
结果2:
ID         Str       .........
NULL     NULL     .........
34         dfsa     .........
不知道为什么数据库把null自动转成0和空串。
是那里设置不对吗?



[解决办法]
你到表中仔细看了吗?一定是null吗?是不是设定默认值了?
好象没有哪个设置可以把null强行为0,除非默认值.
[解决办法]
没见过~
[解决办法]
表中的数据一样吗?
[解决办法]
奇怪
[解决办法]
id不是惟一的,连接后并不是你想象的结果,所以出现 null.
在保证id惟一的情况下,你说的情况是不会出现的.
[解决办法]
那可能是两个机子的NULL显示设置不同~~

set concat_null_yields_null {on|off}

设置成on表示串联空值与字符串将输出 NULL 结果
设置成off表示串联空值与字符串将输出字符串本身(空值作为空字符串处理)

[解决办法]
那可能是两个机子的NULL显示设置不同~~

set concat_null_yields_null {on|off}
---------------------
不会的,你说的是串联结果视为空值或自身,楼主说的不是这种情况,不存在串联的前提

热点排行