T-SQL程序练习01
目录
一、编写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
执行结果:
相关文章
- Mysql字符集-Mysql进阶(一)
- InnoDB & index页-mysql详解(二)
- 索引-mysql详解(三)
- 系统表空间-mysql详解(四)
- 连接查询-mysql详解(五)
- Mysql优化器-mysql详解(六)
- 执行计划--mysql详解(七)
- Buffer pool--mysql详解(八)
- Redo日志--mysql详解(九)
- Undo日志--mysql详解(十)
- Mvcc--mysql详解(十一)
- Mysql锁--mysql详解(十二)
- 腾讯云⾃建Oracle Rac集群(单SCAN-IP&双节点)
- mysql ARM环境编译安装
- php如何判断SQL语句的查询结果是否为空?
- PHP判读MySQL是否执行成功
- MySQL常见运算符
- MySql 日志查看与设置
- 完全卸载SQL SERVER 2008
- Mysql 模糊查询总结