日期:2014-05-17  浏览次数:20762 次

帮忙提取<,>,>=,<=,=的SQL语句
有如下字符串
1:  OLD_23=EAGP2412+OLD_0312+MWGG3401+OLD_0327;
2:  OLD_27<=GAGP2505+OLD_0134+MWGG4101
3:  OLD_32>=JAGP7405+OLD_0543+MWGG6441+OLD_0517;
4:  OLD_57>NAGP0405+OLD_0123;
5:  OLD_80<MAGP3305+OLD_0432+MWGG2401+OLD_017

大家注意红色位置  现在我要提取就是这些符号,我的逻辑是


先进行=判断,如果有=,那么在判断=左边一位是否<或者>号,
                             如果没有左边的一位符号,  则进行=的SQL语句;
                             如果左边有<或者>号,则进行<=或者>=的SQL语句;
               如果没有=,那么肯定是>或者<号,
                    如果是>,则SQL语句;
                    如果是<,则SQL语句;
我要问的就是如何截取这些符号,进行判断,请大侠给出详细的解析,
不要扔给我一个函数拉到没事,因为我也明白用正则表达式,但是小弟是初学者,所以需要你们帮忙,谢谢
------解决方案--------------------
SELECT regexp_substr(x,'([><]=?
------解决方案--------------------
=)'),x FROM(
SELECT 'OLD_32>=JAGP7405+OLD_0543+MWGG6441+OLD_0517;' x FROM dual
UNION 
SELECT 'OLD_32<JAGP7405+OLD_0543+MWGG6441+OLD_0517;' FROM dual
UNION 
SELECT 'OLD_32=JAGP7405+OLD_054<3+MWGG6441+OLD_0517;' FROM dual)