奇怪的CHARINDEX print CHARINDEX(N'((fan' ,N'(((fan')在我的Mssql数据库上结果是 3在其他的Mssql数据库结果却是 2 郁闷是不是和数据库配置有关? 望高手指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 print CHARINDEX(N'DDfan' ,N'DDDfan') 也一样出现重复字符都有这个问题 是有点怪print CHARINDEX(N'((fan' ,N'(((fan') -- 3print CHARINDEX(N'(fan' ,N'((fan') --2 都去掉一个'(',结果却不同 print PATINDEX('%aab%' ,'aaab')也是3。不理解...... 在sql2000上是3,在sql2005上是2。会不会是sql2000的虫子哦? --均为2--SQL Server 2000EXEC sp_dbcmptlevel 'TEST', '80';print CHARINDEX(N'((fan' ,N'(((fan')--SQL Server 2005EXEC sp_dbcmptlevel 'TEST', '90';print CHARINDEX(N'((fan' ,N'(((fan')/*DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。2DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。2*/ 我在两台不同排序方式的服务器上得到了不同结果。二进制排序的,是2。字典排序的是3。不知道是不是这个原因。都是sql2000 在我机上的SQL 测试结果:print CHARINDEX(N'((fan' ,N'(((fan') -- 3print CHARINDEX(N'((fan' ,N'((((fan') -- 4print CHARINDEX(N'(fan' ,N'(((fan') -- 3print CHARINDEX(N'fan' ,N'(((fan') -- 4 print CHARINDEX(N'(((fan' ,N'(((fan') -- 1 就是没有出现 2 的结果。看来以最后一个“(”号为准。可能是MSSQL的一个BUG 再测试,发现重复的字符串就会有失真现象。如:print CHARINDEX(N'Dfan' ,N'DDDDfan') -- 4值是正确的print CHARINDEX(N'DDfan' ,N'DDDDfan') -- 4应是3,但结果仍为4print CHARINDEX(N'DDDfan' ,N'DDDDfan') -- 4应是2,可惜结果仍是4 。不知是不是其它机子也一样? CHARINDEX返回的结果是不确定的吗???体会这狂野体会孤独体会这欢乐爱恨离别 问题基本明确了,是数据库的排序规则引起的,不同规则会有不同结果,谢谢selectplayer() print CHARINDEX(N'Dfan' ,N'DDDDfan') -- 4值是正确的print CHARINDEX(N'DDfan' ,N'DDDDfan') -- 4应是3,但结果仍为4print CHARINDEX(N'DDDfan' ,N'DDDDfan') -- 4是哦,在我机子上也全部为4,哈哈 select in 排序问题 关于触发器的调用问题。 sql 2005 apply '.' 附近有语法错误。 新手,求一存储过程 高分求解阿 !!! SQL2008导入.csv文件的时候怎么去掉引号? 急 急 急!! 关于远程数据库备份到本机的问题 谁知道怎么样发送MAIL呢? 安装了SQL SERVER2000怎样创建数据库? sql 日期提前查詢問題 高手幫忙,有點複雜的問題處理 遍历问题,可以用Sql实现么?深度遍历优先!
print CHARINDEX(N'DDfan' ,N'DDDfan') 也一样出现重复字符都有这个问题
print CHARINDEX(N'((fan' ,N'(((fan') -- 3
print CHARINDEX(N'(fan' ,N'((fan') --2 都去掉一个'(',结果却不同
也是3。不理解......
会不会是sql2000的虫子哦?
--SQL Server 2000
EXEC sp_dbcmptlevel 'TEST', '80';
print CHARINDEX(N'((fan' ,N'(((fan')
--SQL Server 2005
EXEC sp_dbcmptlevel 'TEST', '90';
print CHARINDEX(N'((fan' ,N'(((fan')/*
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
2
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
2
*/
可能是MSSQL的一个BUG
如:print CHARINDEX(N'Dfan' ,N'DDDDfan') -- 4
值是正确的print CHARINDEX(N'DDfan' ,N'DDDDfan') -- 4
应是3,但结果仍为4print CHARINDEX(N'DDDfan' ,N'DDDDfan') -- 4
应是2,可惜结果仍是4 。不知是不是其它机子也一样?
体会这狂野
体会孤独
体会这欢乐
爱恨离别
值是正确的print CHARINDEX(N'DDfan' ,N'DDDDfan') -- 4
应是3,但结果仍为4print CHARINDEX(N'DDDfan' ,N'DDDDfan') -- 4是哦,在我机子上也全部为4,哈哈