|
本帖最后由 〇〇 于 2012-8-9 16:56 编辑
原以为会很多种情况,其实很少
SQL> with n as (select 234567898765432 n from dual),
2 t as(select level l from n connect by level<=length(n)-1)
3 select * from(select substr(n,1,a.l)
4 *substr(n,1+a.l,b.l-a.l)
5 *substr(n,1+b.l,c.l-b.l)
6 *substr(n,1+c.l,d.l-c.l)
7 *substr(n,1+d.l)prod,
8 substr(n,1,a.l)||
9 '*'||substr(n,1+a.l,b.l-a.l)||
10 '*'||substr(n,1+b.l,c.l-b.l)||
11 '*'||substr(n,1+c.l,d.l-c.l)||
12 '*'||substr(n,1+d.l)expr
13 from t a,t b,t c,t d,n where a.l<b.l and b.l<c.l and c.l<d.l
14 order by 1 desc)
15 where rownum=1;
PROD
---------------------------
EXPR
------------------------------------------------------------------------------------------------------------------------------------
103623394387968
23456*7*8*9*8765432
|
|