首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

帮忙提取<>>=,<=,=的SQL话语

2012-10-28 
帮忙提取,,,,的SQL语句有如下字符串1:OLD_23EAGP2412+OLD_0312+MWGG3401+OLD_0327;2:OLD_27GAGP

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

热点排行