濮阳杆衣贸易有限公司

主頁 > 知識庫 > SQL SERVER函數(shù)之深入表值函數(shù)的處理分析

SQL SERVER函數(shù)之深入表值函數(shù)的處理分析

熱門標簽:承德地圖標注公司名需要花錢嗎 北京400電話辦理多少錢 浙江穩(wěn)定外呼系統(tǒng)供應(yīng)商 美團地圖標注商戶認證注冊 電銷外呼系統(tǒng)軟件功能 咸陽電腦外呼系統(tǒng)運營商 榕城市地圖標注 慶陽地圖標注 怎么給高德做地圖標注
有些情況可能用下表值函數(shù),表值函數(shù)主要用于數(shù)據(jù)計算出來返回結(jié)果集,可以帶參數(shù)(和視圖的一個大的區(qū)別),如果函數(shù)中沒有過多的邏輯處理,如變量的定義,判斷等,
表值函數(shù)返回結(jié)果集可以簡單向下面這么寫:
復(fù)制代碼 代碼如下:

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
)

調(diào)用的時候就 SELECT XX FROM Fun_GetReprotNews('xx')
如果函數(shù)中要定義變量,進行判斷計算處理什么的,寫法有點不一樣了,要定義表變量才行,表值函數(shù)里是不允許創(chuàng)建臨時表的,只能是表變量。
舉個簡單的寫法樣式,如下:
復(fù)制代碼 代碼如下:

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 --表變量里定義的列數(shù)和取值列數(shù)要一致
RETURN
END

如果進行多表操作,可以在函數(shù)體內(nèi)定義表變量來存放結(jié)果集再進行關(guān)聯(lián)查詢。
標量值函數(shù)也貼一個樣子好了,老掉牙的了,呵呵~~
復(fù)制代碼 代碼如下:

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

訪問標量值函數(shù)時一般在函數(shù)名前加dbo,不然會被認為是系統(tǒng)內(nèi)置函數(shù),卻因又不是系統(tǒng)內(nèi)置函數(shù)而會報錯。
上面的可以這么測試
select dbo.FUN_DataFormat(getdate())
就忽悠這些了~~~~~~~

標簽:江蘇 貴州 拉薩 上海 新鄉(xiāng) 呼和浩特 重慶 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標題《SQL SERVER函數(shù)之深入表值函數(shù)的處理分析》,本文關(guān)鍵詞  SQL,SERVER,函數(shù),之,深入,表值,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL SERVER函數(shù)之深入表值函數(shù)的處理分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL SERVER函數(shù)之深入表值函數(shù)的處理分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    南雄市| 延寿县| 景洪市| 二连浩特市| 当涂县| 琼中| 资兴市| 东平县| 鹿泉市| 碌曲县| 瑞昌市| 寻甸| 郑州市| 太和县| 张掖市| 商城县| 谢通门县| 阿拉善左旗| 中方县| 沙河市| 邓州市| 丰顺县| 潼南县| 灵山县| 越西县| 山丹县| 炉霍县| 马关县| 高唐县| 湛江市| 盘山县| 白沙| 江油市| 二连浩特市| 轮台县| 儋州市| 玉屏| 肇州县| 宁国市| 宁津县| 慈利县|