有客户使用的首佳汽修汽配管理软件是9.00系列的,客户反映说待修状态的委托修理单,无论在委托单,还是派工单\结算单都无法按待修状态检索想要的单据,开始以为是软件问题,给客户升级到9.09系列的版本仍然无法查询待修的单据,其它状态的查询是正常的,这还真是见了鬼了.
可以肯定的是,应该不是字符集的问题,因为建空数据库之初就是选的中文简体的字符集,软件测试中其它的状态比如已派工\审核未结算单\审核已结算等都可以检索。
这个客户是用anywhere数据库的,在数据库工具中直接写SQL语句,以like %待修%这样的条件确实查不出数据来,like %修或者like 待%这样的条件却可以查出数据来。把待修的数据update成随便一个,比如测试修理,是可以like出来,再update回待修仍然不行。
没有办法了,只好把表用数据管道拷贝到新表,测试一下,竟然like %待修%可以查出数据来了,这么说来肯定是表的问题了,先备份好表结构的语法,索性把表也drop了,然后再建表,再用数据管道导回数据去,再查like %待修%,问题解决!郁闷!这谁可以解释的问题吗?
邪门的问题,以文章形式记录下来,或许对他人有帮助.
发现一个新办法,把索引drop后再建一次就行了.
如果是视图,就需要把视图drop view掉,然后重新建视图.是有点麻烦.
比如首佳汽修汽配软件中的工人工资表查不出来时就可以这么做一次.