SqlServer存储过程、函数、游标例子之函数(一)

--1.标量函数:标量函数是对单一值操作,返回单一值。能够使用表达式的地方,就可以使用标量函数。像我们经常使用的left、getdate等,都属于标量函数。系统函数中的---标量函数包括:数学函数、日期和时间函数、字符串函数、数据类型转换函数等
create  function [dbo].[ getName3](@tjbh  varchar (20))  
returns  varchar (20)  
as   
begin  
declare  @ name  varchar (20)
select  @ name =patient  from  t2_tj_djb  where  TJBH=@tjbh 
return  @ name
end  

select  dbo.GetName3( '201412030005' )
 
--2内嵌表值函数:内嵌表值函数的功能相当于一个参数化的视图。它返回的是一个表,内联表值型函数没有由BEGIN-END 语句括起来的函数体。其返回的表由一个位于-------RETURN 子句中的SELECT 命令段从数据库中筛选出来。
alter  FUNCTION [dbo].[ getA](@tjbh  varchar (20))
returns  table
as
return ( select  from  t2_tj_djb  where  TJBH=@tjbh) 

select  from dbo. getA( '201412020001' )
 
--3.多声明表值函数:可以看作标量型和内嵌表值型函数的结合体。它的返回值是一个表,但它和标量型函数一样有一个用BEGIN-END 语句括起来的函数体,返回值的表中----的数据是由函数体中的语句插入的。由此可见,它可以进行多次查询,对数据进行多次筛选与合并,弥补了内联表值型函数的不足。
create  FUNCTION [dbo].[ getB](@tjbh  varchar (20))
returns  @re  TABLE (age  int ,tjbh  varchar (20))
as
begin
DECLARE  @a  int    
select  @a=age  from  t2_tj_djb  where  TJBH=@tjbh
insert  @re  Values (@a,@tjbh)
RETURN          
end
 
select  age,tjbh  from  dbo.getB( '201412020001' )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值