日期:2014-05-19  浏览次数:20599 次

发现Sql Server 2000上的REPLACE函数的一个Bug,大家看看是不是

print   REPLACE( 'aaadaaaa ', 'aaaa ', ' ')

结果

aaa

请大家看看这个是不是bug,也请高人解释一下

谢谢!


------解决方案--------------------
兄弟看错了吧,执行后是“aaad”,不是aaa。
------解决方案--------------------
是的

------解决方案--------------------
win2000 server sqlserver 2000 简单试验了一下 确实这样 不知道是不是bug 没有测试在不同环境

select replace ( '11131111 ', '1111 ', ' ')
-----------------------------------------------
111

(1 row(s) affected)
------解决方案--------------------
我的也是错误呀,在前面加a的话有时候d会出来,有时候又不会
------解决方案--------------------
没遇到你们所说的那个问题。也许是没有打补丁吧!
------解决方案--------------------
http://community.csdn.net/Expert/topic/5390/5390503.xml?temp=7.845706E-02
------解决方案--------------------
昏 盗版还会这样。。
------解决方案--------------------
打上SP4补丁就不会出现这种情况了!
------解决方案--------------------
昏。。bug了吧
------解决方案--------------------
呵呵,我这里正常,也许吧
------解决方案--------------------
select replace ( '11151111 ', '1111 ', '23 ')

结果是:
11123

select replace ( '11151111 ', '111 ', '23 ')
结果是:
235231

select replace ( '11151111 ', '15 ', ' ')
结果是:
111111

我这里也出现了不大不下的小BUG
。。。。