tabA结构如下id        content
1        name(name1) old(11)
2        name(name2) old(11)
3        name(name3) 
4        name1 
希望能根据content字段里面的部分数据查询应该怎么写啊?比如
一.查询name=name1的
返回
1        name(name1) old(11)二.查询old=11的
返回
1        name(name1) old(11)
2        name(name2) old(11)三.查询name=name3的
返回
3        name(name3) 

解决方案 »

  1.   

    select * from tabA t where t.content like '%'||replace('参数','=','(')||')'||'%'其中参数就等于你传入的,如name=name1或old=11或name=name3
      

  2.   

    看你的数据还是很有规律的
    1、SELECT *FROM taba where substr(content,6,5)='name1';
    3  SELECT *FROM taba where substr(content,6,5)='name3';
    2 select * from taba where content like '%old(11)';
      

  3.   

    scott@NCDB> CREATE TABLE tx7(ID INT ,content VARCHAR2(200));表已创建。scott@NCDB> INSERT INTO TX7 VALUES (1, 'name(name1) old(11)');已创建 1 行。scott@NCDB> INSERT INTO TX7 VALUES (2, 'name(name2) old(11)');已创建 1 行。scott@NCDB> INSERT INTO TX7 VALUES (3, 'name(name3)');已创建 1 行。scott@NCDB> INSERT INTO TX7 VALUES (4, 'name1');已创建 1 行。scott@NCDB> SELECT *
      2    FROM TX7
      3   WHERE CONTENT LIKE '%' || REPLACE('name=name1', '=', '(') || ')' || '%';        ID CONTENT
    ---------- ------------------------------
             1 name(name1) old(11)scott@NCDB> SELECT *
      2    FROM TX7
      3   WHERE CONTENT LIKE '%' || REPLACE('old=11', '=', '(') || ')' || '%';        ID CONTENT
    ---------- ------------------------------
             1 name(name1) old(11)
             2 name(name2) old(11)scott@NCDB> SELECT *
      2    FROM TX7
      3   WHERE CONTENT LIKE '%' || REPLACE('name=name3', '=', '(') || ')' || '%';        ID CONTENT
    ---------- ------------------------------
             3 name(name3)
      

  4.   

    --TAB1
    id        content 
    1        name(name1) old(11) 
    2        name(name2) old(11) 
    3        name(name3) 
    4        name1一.查询name=name1的 
    返回 
    1        name(name1) old(11) 
    SELECT * FROM TAB1 WHERE INSTR(content,'name1')>0二.查询old=11的 
    返回 
    1        name(name1) old(11) 
    2        name(name2) old(11) 
    SELECT * FROM TAB1 WHERE INSTR(content,'11')>0
    三.查询name=name3的 
    返回 
    3        name(name3) 
    SELECT * FROM TAB1 WHERE INSTR(content,'name3')>0
      

  5.   


    --1:
    select * from tabA where content like '%name%' and content like '%name1%';--2:
    select * from tabA where content like '%11%';--3:
    select * from tabA where content like '%name%' and content like '%name3%';
      

  6.   

    select id,content from taba where instr(content,&1)>0 and instr(content,&2)>0;
    提示你输入两个值你输入name和name1就会出结果
      

  7.   


    一.查询name=name1的 
    返回 
    1        name(name1) old(11) select * from AAA where regexp_like(replace(content,'(','='),'name=name1')二.查询old=11的 
    返回 
    1        name(name1) old(11) 
    2        name(name2) old(11) select * from AAA where regexp_like(replace(content,'(','='),'old=11')三.查询name=name3的 
    返回 
    3        name(name3) 
    select * from AAA where regexp_like(replace(content,'(','='),'name=name3')
      

  8.   


    --挖的7楼的
    SQL> select * from AAA where regexp_like(replace(content,'(','='),&aa);
    输入 aa 的值:  'name=name1'
    原值    1: select * from AAA where regexp_like(replace(content,'(','='),&aa)
    新值    1: select * from AAA where regexp_like(replace(content,'(','='),'name=na
    me1')        ID CONTENT
    ---------- --------------------------------------------------
             1 name(name1)old(11)SQL> select * from AAA where regexp_like(replace(content,'(','='),&aa);
    输入 aa 的值:  'old=11'
    原值    1: select * from AAA where regexp_like(replace(content,'(','='),&aa)
    新值    1: select * from AAA where regexp_like(replace(content,'(','='),'old=11'
    )        ID CONTENT
    ---------- --------------------------------------------------
             1 name(name1)old(11)
             2 name(name2)old(11)SQL> select * from AAA where regexp_like(replace(content,'(','='),&aa);
    输入 aa 的值:  'name=name3'
    原值    1: select * from AAA where regexp_like(replace(content,'(','='),&aa)
    新值    1: select * from AAA where regexp_like(replace(content,'(','='),'name=na
    me3')        ID CONTENT
    ---------- --------------------------------------------------
             3 name(name3)SQL>