T-SQL程序练习01
创始人
2024-04-29 00:36:20

目录

一、编写T-SQL程序,计算 1 + 2 − 3 + 4 − 5 … − 99 + 100 =?

二、写一个求三个数最大值的函数,输入为三个整数,输出为其中的最大值。

三、写一个T-SQL函数 𝑓𝑎𝑡,利用标准体重计算公式,根据身高判断体重是否合乎标准

四、写一个T-SQL多语句表值函数 𝑏𝑙𝑜𝑜𝑑,根据父母的血型列出孩子的所有可能血型


一、编写T-SQL程序,计算 1 + 2 − 3 + 4 − 5 … − 99 + 100 =?

T-SQL程序代码
declare @i int,@j int,@sum int,@str varchar(500),@temp int
select @i=2,@j=-1,@sum=1,@str='1'
while(@i<=100)
  begin
  set @temp=power(@j,@i)*@i
  set @sum = @sum+@temp
  if(@temp>0)
    set @str+='+'+cast(@temp as varchar(5))
  else
    set @str+=cast(@temp as varchar(5))
  set @i+=1
  end
print @str+'='+cast(@sum as varchar(3))
执行结果:

二、写一个求三个数最大值的函数,输入为三个整数,输出为其中的最大值。

运行该函数。类似如下输出 T-SQL程序代码

create function MyMax(
    @num1 int,
    @num2 int,
    @num3 int
)
returns int
as 
begin
  declare @Maxnum int
  if(@num1>=@num2)
    set @Maxnum = @num1
  else
    set @Maxnum = @num2
  if(@Maxnum>=@num3)
    set @Maxnum = @Maxnum
  else
    set @Maxnum = @num3
  return @Maxnum
end;

select dbo.MyMax( 7, 9, 13)

执行结果:

三、写一个T-SQL函数 𝑓𝑎𝑡,利用标准体重计算公式,根据身高判断体重是否合乎标准

1)输入:身高,体重,性别 2)输出:体重超出标准多少的判断 3)调用函数实现类似如下的输出

T-SQL程序代码

create function fat(
  @height int,
  @weight int,
  @sex varchar(3)
)
returns varchar(50)
as
begin
  declare @tempWeight int,@str varchar(50)
  set @str='';
  if(@sex='男')
  set @tempWeight = (@height-105)
  else if(@sex='女')
  set @tempWeight = (@height-100)
  else 
  begin
    set @str='你输入的性别有误';
    return @str;
  end
  if(@tempWeight-@weight>0)
  set @str='你的体重比标准体重轻了'+cast(@tempWeight-@weight
  as varchar(4))+'公斤'
  else if(@tempWeight-@weight<0)
  set @str='你的体重比标准体重重了'+cast(@weight-@tempWeight
  as varchar(4))+'公斤'
  else
  set @str='你的身材非常标准'
  return @str;
end

执行结果:

四、写一个T-SQL多语句表值函数 𝑏𝑙𝑜𝑜𝑑,根据父母的血型列出孩子的所有可能血型

1)输入:父亲血型,母亲血型 2)输出:孩子的所有可能血型 3)要求:使用多语句表值函数实现(不要试图建表) 4)调用函数实现类似如下的输出

T-SQL程序代码 

create function blood(
  @faBl varchar(4),
  @maBl varchar(4)
)
returns @blood table(
  possibleblood varchar(4)
)
as
begin
if(@faBl='A'and @maBl='A')or(@faBl='O' and @maBl='A')
  or(@faBl='A'and @maBl='O')
  begin
    insert into @blood values('A');
    insert into @blood values('O');
  end
else if(@faBl='A' and @maBl='B')or(@faBl='B' and @maBl='A')
  begin
    insert into @blood values('A');
    insert into @blood values('B');
    insert into @blood values('AB');
    insert into @blood values('O');
  end
else if(@faBl='A' and @maBl='AB')or(@faBl='B' and @maBl='AB')
       or(@faBl='AB' and @maBl='A')or(@faBl='AB' and @maBl='B')
       or(@faBl='AB' and @maBl='AB')
  begin
    insert into @blood values('A');
    insert into @blood values('B');
    insert into @blood values('AB');
  end
else if(@faBl='B' and @maBl='B')or(@faBl='B' and @maBl='O')
       or(@faBl='O' and @maBl='B')
  begin
    insert into @blood values('B');
    insert into @blood values('O');
  end
else if(@faBl='AB' and @maBl='O')or(@maBl='AB' and @faBl='O')
  begin
    insert into @blood values('A');
    insert into @blood values('B');
  end
else if(@faBl='O' and @maBl='O')
  begin
    insert into @blood values('O');
  end
  return
end

执行结果:

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...