_T-SQL程序练习02

2023-11-23 22:35:57 浏览数 (1)

一、写一个GetMax函数

1. 具体要求

1)输入:四个 1~9 的数字

2)输出:这四个数字组成的最大的整数

实现如图输出

2. T-SQL程序代码

代码语言:javascript复制
create function GetMax(
 @num1 int,
 @num2 int,
 @num3 int,
 @num4 int
)
returns int
as
begin
  declare @str varchar(20);
  declare @temp table(n varchar(20));
  set @str='';
  insert into @temp
  select @num1 union all
  select @num2 union all
  select @num3 union all
  select @num4
  select @str = @str n from @temp order by n desc;
  return cast(@str as int)
end

进行测试,OK,确认过眼神,答案确实没有问题。

3. 结果显示

二、写一个存储过程AreYouFat

1. 具体要求

1)输入:体重(单位是公斤),身高(单位是米)

2)输出:提示信息

体重过低,提示:您的体型过轻,请加强营养

体重正常,提示:您的体型完全正常,请注意保持

超重,提示:您的体型偏胖,请注意饮食

肥胖,提示:你的体型超重,请注意节食

3)返回值:BMI值 = 体重 / 身高(米)的平方

实现如下输出

2. T-SQL程序代码

代码语言:javascript复制
create procedure AreYouFat(
  @weight float,
  @height float,
  @mess varchar(100) output,
  @bmi float output
)
as
begin
  set @mess=''
  set @bmi = @weight/(@height*@height)
  if(@bmi<18.5)
  set @mess='你的体型过轻,请加强营养'
  else if(@bmi>=18.5 and @bmi<=23.9)
  set @mess='你的体型正常,请注意保持'
  else if(@bmi>=24 and @bmi<=27.9)
  set @mess='你的体型偏胖,请注意饮食'
  else
  set @mess='你的体型超重,请注意节食'
end

/* 测试 */
go
declare @mess varchar(50)
declare @bmi float
exec dbo.AreYouFat 60.0,1.78, @mess output,@bmi output
print '身高体重指数是: ' cast(@bmi as varchar(20))
print '我给你的建议是: ' @mess
go

3. 结果显示

0 人点赞