用戶自定義函數

用戶自定義函數(UDF,user-defined function)的目的是要封裝計算的邏輯處理,有可能須要基於輸入的參數,並返回結果。函數

SQL Server 支持兩種用戶定義函數:標量UDF和表值UDF。標量UDF只返回單個數據值。而表值UDF則返回一個表。使用UDF 的優勢之一是能夠在查詢中集成UDF。對於查詢中返回單個值的表達式,在其出現的位置上,也可以使用標量UDF(例如,在SELECT列表中)。表值UDF只能在查詢的FROM子句中出現。io

CREATE FUNCTION dbo.fn_ageevent

(function

  @birthdate AS DATETIME,date

  @eventdate AS DATETIME數據

)查詢

RETURNS INTdb

AS參數

BEGIN封裝

  RETURN

    DATEDIFF(year,@birthdate,@eventdate)

      - CASE WHEN 100*MONTH(@eventdate)+DAY(@eventdate)

        < 100* MONTH(@birthdate) + DAY(@birthdate)

      THEN 1 ELSE 0

    END

END

相關文章
相關標籤/搜索