用T-SQL语句怎样实现打印九九乘法表?

用SQL语言实现。。。谢谢!急。。。
2024-11-22 15:02:28
推荐回答(5个)
回答(1):

使用T-SQL语句打印九九乘法表的代码如下:

--定义三个变量(行、列、输出字符串) 通过横竖 九行九列 进行循环输出

DECLARE @a smallint,@b smallint,@str varchar(1000)

set @a=1

WHILE @a<=9

BEGIN    

SET @b=1    

SET @str=''    

WHILE @b<=@a    

BEGIN

SELECT @str=@str+convert(varchar(1),@b)+'*'+convert(varchar(1),@a)+'='+convert(char(2),@a*@b)+space(2)        

SET @b=@b+1    

END    

PRINT @str    

SET @a=@a+1 

END

扩展资料:

T-SQL语句

T-SQL 即 Transact-SQL,是 SQL 在 Microsoft SQL Server 上的增强版,它是用来让应用程序与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL 的 DDL 和 DML 功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。

参考资料来源:百度百科-t-sql

回答(2):

--定义三个变量(行、列、输出字符串) 通过横竖 九行九列 进行循环输出
DECLARE @a smallint,@b smallint,@str varchar(1000)
set @a=1
WHILE @a<=9
BEGIN    
SET @b=1    
SET @str=''    
WHILE @b<=@a    
BEGIN
SELECT @str=@str+convert(varchar(1),@b)+'*'+convert(varchar(1),@a)+'='+convert(char(2),@a*@b)+space(2)        
SET @b=@b+1    
END    
PRINT @str    
SET @a=@a+1 
END

效果如图:

回答(3):

declare @d int,@kk varchar(500),@c int
select @d=1
select @c=1
select @kk=''
while @d<=9
begin
select @c=1
while @c<=@d
begin
select @kk=@kk+char(10)+convert(varchar(200),@c)+'*'+convert(varchar(200),@d)+'='+convert(varchar(200),@d*@c)
select @c=@c+1
end
select @kk=@kk+char(10)
select @d=@d+1
end
print @kk

回答(4):

declare @low int
declare @col int
declare @space varchar(110)
set @low=1
while @low <10
begin
set @col=1
set @space=' 空两格'
while @col<=@low
begin
set @speace=@speace+cast(@low as varchar(1))+'x'+cast(@col as varchar(1))+'='+cast(@low*@col as varchar(2))+' 空四格 '
set @col=@col+1
end
print @space
set @low=@low+1
end

回答(5):

-- 九九乘法表

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