用pl/sql 输出九九乘法表

2023-10-26 22:10

补充下用 WHILE循环 for我也能做出来
3个回答
-- 九九乘法厅好表

SELECT MAX(DECODE(N2, 1, NN)) NN1,
MAX(DECODE(N2, 2, NN)) NN2,
MAX(DECODE(N2, 3, NN)) NN3,
MAX(DECODE(N2, 4, NN)) NN4,
MAX(DECODE(N2, 5, NN)) NN5,
MAX(DECODE(N2, 6, NN)) NN6,
MAX(DECODE(N2, 7, NN)) NN7,
MAX(DECODE(N2, 8, NN)) NN8,
MAX(DECODE(N2, 9, NN)) NN9
FROM (SELECT T1.N N1,
T2.N N2,
T1.N * T2.N,
T1.N || '*' || T2.N || '扮哗铅=' || T1.N * T2.N NN
FROM (SELECT LEVEL N FROM DUAL CONNECT BY LEVEL <= 9) T1,
(SELECT LEVEL N FROM DUAL CONNECT BY LEVEL <芦竖= 9) T2
WHERE T1.N <= T2.N)
GROUP BY N1
ORDER BY N1 DESC

经过测试,可以直接使用 

第一、在Oracle9i下的脚本: 

SELECT to_char(flag)||'=1*'||to_char(flag) "1" , 

CASE WHEN flag>1 THEN to_char(flag*2)||'=2*'||to_char(flag) ELSE '' END "2", 

CASE WHEN flag>2 THEN to_char(flag*3)||'=3*'||to_char(flag) ELSE 空野'' END "悄粗3", 

CASE WHEN flag>3 THEN to_char(flag*4)||'=4*'||to_char(flag) ELSE '' END "4", 

CASE WHEN flag>4 THEN to_char(flag*5)||'=5*'||to_char(flag) ELSE '' END "5", 

CASE WHEN flag>5 THEN to_char(flag*6)||'=6*'||to_char(flag) ELSE '' END "6", 

CASE WHEN flag>6 THEN to_char(flag*7)||'=7*'||to_char(flag) ELSE '' END "7", 

CASE WHEN flag>7 THEN to_char(flag*8)||'=8*'||to_char(flag) ELSE '' END "8", 

CASE WHEN flag>8 THEN to_char(flag*9)||'=9*'||to_char(flag) ELSE '' END "9" 

FROM ( 

SELECT 1 flag FROM dual 

UNION ALL 

SELECT 2 FROM dual 

UNION 斗运喊ALL 

SELECT 3 FROM dual 

UNION ALL 

SELECT 4 FROM dual 

UNION ALL 

SELECT 5 FROM dual 

UNION ALL 

SELECT 6 FROM dual 

UNION ALL 

SELECT 7 FROM dual 

UNION ALL 

SELECT 8 FROM dual 

UNION ALL 

SELECT 9 FROM dual) a 

二、在sqlserver下脚本: 

select convert(varchar(10),flag)+'=1*'+convert(varchar(10),flag) [1], 

case when flag>1 then convert(varchar(10),flag*2)+'=2*'+convert(varchar(10),flag) else '' end [2], 

case when flag>2 then convert(varchar(10),flag*3)+'=3*'+convert(varchar(10),flag) else '' end [3], 

case when flag>3 then convert(varchar(10),flag*4)+'=4*'+convert(varchar(10),flag) else '' end [4], 

case when flag>4 then convert(varchar(10),flag*5)+'=5*'+convert(varchar(10),flag) else '' end [5], 

case when flag>5 then convert(varchar(10),flag*6)+'=6*'+convert(varchar(10),flag) else '' end [6], 

case when flag>6 then convert(varchar(10),flag*7)+'=7*'+convert(varchar(10),flag) else '' end [7], 

case when flag>7 then convert(varchar(10),flag*8)+'=8*'+convert(varchar(10),flag) else '' end [8], 

case when flag>8 then convert(varchar(10),flag*9)+'=9*'+convert(varchar(10),flag) else '' end [9] 

from 

(select 1 flag 

union all 

select 2 

union all 

select 3 

union all 

select 4 

union all 

select 5 

union all 

select 6 

union all 

select 7 

union all 

select 8 

union all 

select 9) a

利用while 循环:

set serveroutput on;
declare
i int;
j int;
begin
i:=1;
j:=1;
while i < 10
loop
while j <= i
loop
dbms_output.put(i||'*'||j||'='册辩);
if length(i*j) = 1 and j!=1 then
dbms_output.put(' ');
end if;
dbms_output.put(i*j||' ');
j:=j+1;
end loop;
j:=1;
i:=i+1;
dbms_output.put_line(' ');
end loop;
end;
/

***********************************
利用for循环:

set serveroutput on;
declare
begin
for i in 1..9 loop
for j in 1 .. i loop
dbms_output.put(i);
dbms_output.put('*');
dbms_output.put(j);
dbms_output.put('=');
if length(i*j) = 1 and j!=1 then
dbms_output.put(' ');
end if;
dbms_output.put(i*j);
dbms_output.put(' ');
end loop;
dbms_output.put_line(' ');
end loop;
end;
/

---
以上衫姿铅,希望对你有或好所帮助。
相关问答
使用PL/SQL的优点
1个回答2022-09-23 02:35
方便简单安全
九九乘九九乘法口诀表
1个回答2024-02-20 13:20
乘法口诀表: 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六...
全文
九九乘九九乘法口诀表
1个回答2024-02-29 04:30
乘法口诀表: 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六...
全文
九九乘九九乘法口诀表
1个回答2024-03-09 05:27
乘法口诀表: 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六十...
全文
九九乘九九乘法口诀表
1个回答2024-02-11 15:27
乘法口诀表: 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六...
全文
九九乘九九乘法口诀表
1个回答2024-03-03 22:32
乘法口诀表: 一一得一 一二得二 二二得四 一三得三 二三得六 三三得九 一四得四 二四得八 三四十二 四四十六 一五得五 二五一十 三五十五 四五二十 五五二十五 一六得六 二六...
全文
九九乘法表
1个回答2024-02-15 01:21
古代九九乘法表
1个回答2024-03-01 20:38
九九乘法表的发明 我国九九乘法表起源甚早。至迟于春秋鲁桓公时已有九九,成书于春秋战国间的《管子》, 书中提到“安戏作九九之数以应天道”。在战国时代,九九口诀已经相当流行,诸子著作如《荀子》 等已把...
全文
九九乘法表是几年级学的?
1个回答2022-08-24 21:47
人教版是小学二年级。
九九乘法表
1个回答2024-02-28 22:44
九九乘法表: 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3...
全文
热门问答