SQLServer 表值函数与标量值函数 定义方式与调用区别

 

标量值函数创建:

Create Function [dbo].[GoosWidth](@GoodsCode varchar(20))
Returns float
Begin
       Declare @Value float
       Select @Value = GoodsWidth From Master_Goods Where GoodsCode = @GoodsCode
       Return(@Value)
End

 

表值函数创建:

Create Function [dbo].[GetAllGoods]()
Returns Table
As
 Return(Select * From [Master_Goods])

 

创建一个自定义样式的标量函数

Create Function [dbo].[GetMyStyleDate](@Date DateTime)
Returns nvarchar(20)
Begin
       Declare @ReturnValue nvarchar(20)
       Set @ReturnValue = '今天是' + convert(nvarchar(4),datepart(year,@Date)) + '年'
                                                 + convert(nvarchar(2),datepart(month,@Date)) + '月'
                                                 + convert(nvarchar(2),datepart(day,@Date)) + '日'
       return @ReturnValue
End

 

其中标量值函数调用的时候方式如下:Select dbo.GoosWidth('0003')    注意:函数前边一定要加上所有者:dbo

表值函数调用方法如下:Select * From GetAllGoods()       表值函数调用的时候不用加入。

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...