CREATE FUNCTION Fun_GetReportNews(@type varchar(10)) RETURNS TABLE AS RETURN ( SELECT TPR_ID,TPR_Title,TPR_Date FROM TP_ReportNews WHERE TPR_Type = @type )
調用的時候就 SELECT XX FROM Fun_GetReprotNews('xx') 如果函數中要定義變量,進行判斷計算處理什么的,寫法有點不一樣了,要定義表變量才行,表值函數里是不允許創(chuàng)建臨時表的,只能是表變量。 舉個簡單的寫法樣式,如下:
復制代碼 代碼如下:
CREATE FUNCTION FUN_GetInfoList(@type varchar(10)) RETURNS @Table TABLE(TPR_ID int,TPR_Title nvarchar(100),TPR_PubDate datetime) AS BEGIN DECLARE @a varchar(10) SELECT @a = xx FROM XX WHERE xx = @type INSERT @Table SELECT XX,XX,XX FROM TableName WHERE XX = @a --表變量里定義的列數和取值列數要一致 RETURN END
CREATE FUNCTION FUN_DataFormat (@strDate datetime) RETURNS varchar(20) AS BEGIN
declare @date varchar(20) set @date = DATENAME(YY,@strDate)+'年'+Convert(VARCHAR,MONTH(@strDate))+'月'+Convert(VARCHAR,DAY(@strDate))+'日' return @date END