我要处理一个sql语句 (处理为空的)比如:
"select * from (select * from table1 where a=23 and b<'') where col2 = and col2>12 and col3 BETWEEN 11 and "
现在有三个地方 "b<''","col2 =","col3 BETWEEN 11 and "由于他们的值为空(这个值我是从数据库中查的,没有就为null)我就是要把这些字句删除了
处理结果应该是:"select * from (select * from table1 where a=23 ) where col2>12 "
现在我的思路是将所有的关键字除where换成")("(where替换为"(")然后找到每个子句调用处理程序判断处理, 现在有一个问题是在处理嵌套的情况时,最里面一层的最右边的子嵌套替换后缺少一个")" 例如:(()()(*) *位置就代表缺少的")"现在怎么找到它并返回它的位置
(子句开头和结尾的位置是我在删除时的依据)我现在的想法是用栈来实现,然后从外往里扫描,但好像不行
希望大家给个能找到那个缺少的")"的方法
当然如果有更好的处理这样sql语句的想法也行,我可以重新实现
"select * from (select * from table1 where a=23 and b<'') where col2 = and col2>12 and col3 BETWEEN 11 and "
现在有三个地方 "b<''","col2 =","col3 BETWEEN 11 and "由于他们的值为空(这个值我是从数据库中查的,没有就为null)我就是要把这些字句删除了
处理结果应该是:"select * from (select * from table1 where a=23 ) where col2>12 "
现在我的思路是将所有的关键字除where换成")("(where替换为"(")然后找到每个子句调用处理程序判断处理, 现在有一个问题是在处理嵌套的情况时,最里面一层的最右边的子嵌套替换后缺少一个")" 例如:(()()(*) *位置就代表缺少的")"现在怎么找到它并返回它的位置
(子句开头和结尾的位置是我在删除时的依据)我现在的想法是用栈来实现,然后从外往里扫描,但好像不行
希望大家给个能找到那个缺少的")"的方法
当然如果有更好的处理这样sql语句的想法也行,我可以重新实现
解决方案 »
- 怎么取字符串的每个Bit位数据
- final关键字与java性能优化
- 如何使我的SQL执行时使用我建的索引?顶者有分,有答案马上结贴!!
- 如何从网管升级到程序员
- GUI程序中,有一个JTextArea 类型对象 textArea,以及一个字符串对象str,如何使得str值变化的时,在textArea中输出新值?
- [请教】five unique objects 怎么翻译
- 郁闷死了!为什么不能这样初始化按钮!
- Applet问题
- 两个JList列表项,左边JList存放数组值,中间有按钮,可以控制列表项中的元素左右移动,但是在移动之后如何保证左边剩下的元素的索引值不变呢?
- 请问谁使用过com.l2fprod.gui.plaf.skin.SkinLookAndFeel风格!!!!
- 小弟初学,读程序时有几地方看不民懂,?的地方请大家帮忙解答,谢谢,在线等!!!!!
- 请问如何用正则表达式处理HTML标签?
Where field_Test is null如果要用到过滤特殊字符,例如回车,TAb键等使用escape关键字,建议看看PL/SQL我还是没有弄明白你要干什么
select * from (select * from table1 where a=23 and b<'') where col2 = and col2>12 and col3 BETWEEN 11 and "
现在有三个地方 "b<''","col2 =","col3 BETWEEN 11 and "由于他们的值为空(这个值我是从数据库中查的,没有就为null)我就是要把这些字句删除了
处理结果应该是:"select * from (select * from table1 where a=23 ) where col2>12 "
这个就是处理的例子