17,140
社区成员




WITH tmp AS
( SELECT rownum rn FROM all_objects WHERE rownum<=9
)
SELECT a.rn,
SUBSTR(MAX( sys_connect_by_path(
CASE
WHEN a.rn*b.rn>=10
THEN SUBSTR(TRANSLATE(b.rn
||a.rn
||a.rn*b.rn,'1234567890','一二三四五六七八九十'),1,
CASE
WHEN mod(a.rn*b.rn,10)=0
OR a.rn *b.rn >20
THEN 3
ELSE 2
END)
||'十'
|| TRANSLATE(mod(a.rn*b.rn,10),'1234567890','一二三四五六七八九')
ELSE TRANSLATE(b.rn
||a.rn
||'='
||a.rn*b.rn,'123456789=','一二三四五六七八九得')
END ,',')),2) 口诀
FROM tmp A,
tmp b
WHERE a.rn >=b.rn
CONNECT BY prior a.rn=a.rn
AND prior b.rn =b.rn-1
START WITH b.rn =1
GROUP BY A.rn
ORDER BY 1;