数据库中有记录如下:
ID,DATA
1、/aaa/bbb/ccc
2、 /ddd/aaa/ccc
3、 /bbb/ccc/aaa查找DATA的字符串结尾为“/aaa"的记录,查找出的结果仅是3,即“/bbb/ccc/aaa”
 注意“/aaa/”不合要求。
要求该SQL语句既可以mysql下,也可以oracle下正确执行。

解决方案 »

  1.   


    SQL> create table tb
      2  (
      3    id   int,
      4    data varchar(30)
      5  );
     
    Table created
     
    SQL> insert into tb(id,data) values(1,'/aaa/bbb/ccc');
     
    1 row inserted
     
    SQL> insert into tb(id,data) values(2,'/ddd/aaa/ccc');
     
    1 row inserted
     
    SQL> insert into tb(id,data) values(3,'/bbb/ccc/aaa');
     
    1 row inserted
     
    SQL> insert into tb(id,data) values(4,'/eee/ccc/aaa/');
     
    1 row inserted
     
    SQL> commit;
     
    Commit complete
     
    SQL> select * from tb;
     
                                         ID DATA
    --------------------------------------- ------------------------------
                                          1 /aaa/bbb/ccc
                                          2 /ddd/aaa/ccc
                                          3 /bbb/ccc/aaa
                                          4 /eee/ccc/aaa/
     
    SQL> select * from tb where data like '%/aaa';  --这个是查询SQL语句
     
                                         ID DATA
    --------------------------------------- ------------------------------
                                          3 /bbb/ccc/aaa
      

  2.   

     select * from tb where data like '%/aaa';
      

  3.   

    with tb as(
    select 1 a,'/aaa/bbb/ccc' b from dual 
    union all
    select 2,'/ddd/aaa/ccc' from dual
    union all 
    select 3,'/bbb/ccc/aaa' from dual)
    select a,b from tb where tb.b like '%/aaa';
      

  4.   

    select * from tb where data like '%/aaa';  楼主加油啊。。这样的sql不算难的,自己查查应该能写出来的
      

  5.   

    模糊检索like,从后匹配搞定
    楼上都正解