2009-06-14 32 views
4

的數據類型是有可能得到一個數值參數到我的UDF 和做的東西根據其類型,如:噸-SQL UDF,得到一個參數

如果@ p1的類型是小數(10 3) ... 否則,如果@ p1的類型是十進制(15,3) ... 否則,如果@ p1的類型是整數 ...

回答

4

嘗試一下SQL_VARIANT_PROPERTY功能...

一些例子...

Declare @Param Int 
Set @Param = 30 
Select sql_variant_property(@Param, 'BaseType') 
Select sql_variant_property(@Param, 'Precision') 
Select sql_variant_property(@Param, 'Scale') 

Declare @ParamTwo float 
Set @ParamTwo = 30.53 
Select sql_variant_property(@ParamTwo, 'BaseType') 
Select sql_variant_property(@ParamTwo, 'Precision') 
Select sql_variant_property(@ParamTwo, 'Scale') 

希望它能幫助:)

+0

太棒了!謝謝!! – Ben 2009-06-14 10:46:22

+0

...不用擔心:) – 2009-06-14 11:02:24

1

你應該知道什麼類型的聲明在函數的參數。

UDF的參數和返回值類型被明確定義爲「內部」或「十進制(P,S)」等等......沒有必要去解決它......