代码之家  ›  专栏  ›  技术社区  ›  JagaSrik

与列匹配后需要获取给定字符串中的最大值

  •  0
  • JagaSrik  · 技术社区  · 7 年前

    考虑这个字符串 '123456789' 以及由col1组成的表,其值如下所述:

    Col1     
    123
    456
    789
    

    我需要编写一个查询,这样查询就必须检查col1中的每个值,并输出与字符串匹配的最大值。 '123456789' 在这里我需要得到输出 789 .

    1 回复  |  直到 6 年前
        1
  •  1
  •   Philipp Salvisberg    7 年前

    设置:

    create table t (c varchar2(10));
    insert into t values ('123');
    insert into t values ('456');
    insert into t values ('789');
    commit;
    

    查询:

    select c, instr('123456789',c) as pos
      from t
     order by 2 desc 
     fetch first 1 row only;
    

    结果:

    C                 POS
    ---------- ----------
    789                 7