スカラー関数・テーブル関数メモ

戻り値が、textntextimagecursor、および timestamp 以外の任意のデータ型

例)

--スカラー関数MonthTotalを作成

--月の金額合計を返す
CREATE FUNCTION MonthTotal
(
--引数
@sdate varchar(8),
@edate varchar(8)
)
RETURNS decimal(13,2)
AS
BEGIN
    DECLARE @ret decimal(13,2);
 
    SELECT @ret = SUM([price])
    FROM [table_name]
    WHERE [date] >= @sdate AND [date] <= @edate

    RETURN @ret
END
GO

--呼び出し
SELECT *,dbo.MonthTotal('20161001','20161031')
FROM table_name

 

table データ型を返します。

後日追記