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

帮忙提取<,>,>=,<=,=的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)