是否可以为我的udf获取数字参数 并按照其类型进行处理,例如:
如果@ p1的类型是十进制(10,3) ... 否则,如果@ p1的类型是十进制(15,3) ... 否则,如果@ p1的类型是整数 ...
答案 0 :(得分: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')
希望它有助于:)
答案 1 :(得分:1)
您应该知道在函数参数中声明了什么类型。
udf参数和返回类型显式声明为“int”或“decimal(p,s)”等...无需解决...