摘要:[SQL]函數FUNCTION的參數param給預設值Default value, 且設定任一傳入參數為null時,不執行
下面是一個簡單的計算圓形的面積的function
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
alter FUNCTION [dbo].[udf_CalCircleArea]
(@Radius float = 0)
RETURNS money
--如果希望任何一個傳進來的參數是null的時候,就不執行內容的話
--就把下面的with拿掉註解
--with returns null on null INPUT
AS
BEGIN
RETURN pi() * POWER(@Radius,2);
END
不過呢~不管有沒有設定with returns null on null INPUT
實際上的執行結果看起來都一樣喔,純粹是效能上的考量而已
補充一下如果不傳入參數,要使用function預設值的話就用關鍵字default就好了,注意!這是function才要用default喔
Storeprocedure的話,直接放空就好
--這是function的情況
select dbo.udf_CalCircleArea(default);
--如果是Storeprocedure的話
select dbo.udf_CalCircleArea;
以上參考電子書 T-SQL 2012 PROGRAMMER'S GUIDE,做個紀錄避免忘記小技巧