AND ( model_nm like '%model_nm_arr(0) %' OR model_nm like '% model_nm_arr(1)%' OR model_nm like '% model_nm_arr(2)%')
应该什么也查不到
应该什么也查不到
解决方案 »
- pl/sql与oracle相连后,一会就断了
- Oracle中SqlPlus SqlPlusworksheet SqlScratchpad分别执行存储过程时有什么区别?
- [求助] 求一个效率高的SQL语句
- 问一个关于date的sql语句
- ODBC问题,求助!!!
- 关于export 的一个小问题!
- 来看看这个sql语句如何优化?
- 在Oracle中如何将“_”通配符变成非通配符?
- 有什么好的方法将xml文件导入Oracel中
- 如何在不安装oracle客户端的情况下,连接到oracle数据库,对服务器端数据库进行操作??
- Oracle的一个简单查询?急,解决马上解贴!!
- oracle 中按位与是哪个操作符? 类似SQLSERVER中的 &
现在的情况是,照我的思路写,查询出的错误记录类似于以下的情况。
查询的结果
----------
tetd
tet
类似这样的数据也给查出来了,可是这样数据不对阿。我想要的记录必须包含test1,test2,test3的其中一个或者多个,用like可以实现我的想法么?
可能是我没有把问题说清楚,假如我的查询条件是test1 test2 test3
现在我把test111111这条记录也给查出来了,怎么能让他只查出包含test1的记录。不知道各位前辈这回明白我的意思了么?like的话只要相似的都查出来了,怎么能让他更精确一些。
关键是这样,我这个数组是动态的,取决于用户的输入。实际上我是把这条SQL语句放在一个循环里面用For语句给model_nm_arr(i)赋值,并且生成SQL语句。假如用户输入test1 test2 test3,我先把它们之间的一大堆空格变成一个,之后split取进数组,其实就是这样了like '%test1 %'。
to 76_Dinah(梅子) :照您的办法出现了一种很奇怪的情况,目前我正在调查中,目前不清楚为什么会这样。具体的情况是,个别的查询数据正常,但是另外的不正常。
to ORARichard(没钱的日子好难过啊) :加了空格以后,假如用户输入test2,那么类似这样的正确记录无法得到
------
test1 test2
asdasdasd test3 test2
--------
test1 test2
test2 test1
可是我觉得不应该啊.....奇怪。
to ORARichard(没钱的日子好难过啊):这次可能又像上次了,到头来还是找不到原因和办法,郁闷.......
AND ( model_nm like '%" & UCase( model_nm_arr(i) ) & " " & "%' OR model_nm like '%" & UCase( model_nm_arr(i) ) & "%' ")
不得已我只好做了一个JS函数,限制用户不能输入2个以上的空格,如果这样的话,那我以前的代码就没有问题了。不过我擅自改了设计,靠.......不知道领导会不会高兴???!!!我又一次被数据查询虐啦,555。但是设计人员的想法有时候真奇怪,难道稍微限制用户的输入的程序,就不是好程序么?有时候给了用户最大的自由,留给开发人员又会是什么呢......不知道我什么时候能变得像大家这样强,努力吧.....唉....
今后还请各位多多指教,特别是 ORARichard(没钱的日子好难过啊) 大哥^^