【问题标题】:t-sql udf, get the data type of a parametert-sql udf,获取某个参数的数据类型
【发布时间】:2010-11-02 19:37:48
【问题描述】:

是否可以为我的 udf 获取数字参数 并根据其类型进行处理,例如:

如果@p1 的类型是十进制(10,3) ... else if @p1 的类型是十进制(15,3) ... 否则,如果 @p1 的类型是整数 ...

【问题讨论】:

    标签: sql-server sql-server-2005 tsql user-defined-functions


    【解决方案1】:

    试试 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')
    

    希望对您有所帮助:)

    【讨论】:

      【解决方案2】:

      您应该知道函数参数中声明的类型。

      udf 参数和返回类型显式声明为“int”或“decimal(p,s)”等...无需解决...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-26
        • 1970-01-01
        • 2019-07-23
        • 1970-01-01
        • 2017-08-14
        • 1970-01-01
        相关资源
        最近更新 更多