declare
a number:=0;
b number:=0;
c number:=0;
begin
for i in 100..999 loop
a:=mod(i,10);
b:=mod(i/10,10);
c:=mod(i,100);
if (a*a*a + b*b*b + c*c*c) = i then
dbms_output.put_line(i);
end if;
end loop;
end;
求助大神,為什么我寫這段SQL沒有輸出啊。謝謝,正確的應該怎么寫
uj5u.com熱心網友回復:
b := mod(trunc(i / 10), 10);
c := trunc(i/ 100);
uj5u.com熱心網友回復:
select t1.lv
from (select level lv from dual connect by level <= 999) t1
start with t1.lv >= 100
connect by prior t1.lv = t1.lv
and level <= length(t1.lv)
and prior sys_guid() is not null
group by t1.lv
having t1.lv = sum(power(substr(t1.lv, level, 1), length(t1.lv)))
order by t1.lv
;
declare
a number:=0;
b number:=0;
c number:=0;
begin
for i in 100..999 loop
a:=mod(i,10);
b:=mod(floor(i/10),10);
c:=floor(i/100);
if (a*a*a + b*b*b + c*c*c) = i then
dbms_output.put_line(i);
end if;
end loop;
end;
uj5u.com熱心網友回復:
這個條件不滿足if (a*a*a + b*b*b + c*c*c) = i
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/49701.html
標籤:開發
上一篇:Oracle SQL優化問題
