第二道题目: create table emp (name varchar(20),[money] decimal(10,2),date varchar(20))insert emp select '张三',1000.00,'2005-10' union all select '李四',50001.00,'2005-10' union all select '张三',50002.00,'2005-11' go create function f_union(@name varchar(20),@date varchar(20)) returns decimal(10,2) as begin return(select case when [money]>50000.00 then [money]*0.02 else 0 end from emp where name=@name and date=@date) end goselect *,税=dbo.f_union(name,date) from emp drop table emp drop function f_union name money date 税 -------------------- ------------ -------------------- ------------ 张三 1000.00 2005-10 .00 李四 50001.00 2005-10 1000.02 张三 50002.00 2005-11 1000.04(所影响的行数为 3 行)
create table emp
(name varchar(20),[money] decimal(10,2),date varchar(20))insert emp
select '张三',1000.00,'2005-10' union all
select '李四',50001.00,'2005-10' union all
select '张三',50002.00,'2005-11'
go
create function f_union(@name varchar(20),@date varchar(20))
returns decimal(10,2)
as
begin
return(select case when [money]>50000.00 then [money]*0.02 else 0 end
from emp where name=@name and date=@date)
end
goselect *,税=dbo.f_union(name,date) from emp
drop table emp
drop function f_union name money date 税
-------------------- ------------ -------------------- ------------
张三 1000.00 2005-10 .00
李四 50001.00 2005-10 1000.02
张三 50002.00 2005-11 1000.04(所影响的行数为 3 行)