代码之家  ›  专栏  ›  技术社区  ›  Ryan

当数据类型正确时,为什么此函数返回0行?

  •  2
  • Ryan  · 技术社区  · 16 年前

    当函数这样定义时,它将返回正确的行。

    ALTER FUNCTION [dbo].[exampleFunction](
     @GUID VARCHAR(20)--NUMERIC(16,0)
    ,@BrowseName VARCHAR(200)
    )
    

    但是当我使用Numeric(16,0)时,它是所传递数据的正确数据类型,我收到0行。

    ALTER FUNCTION [dbo].[exampleFunction](
     @GUID NUMERIC(16,0)
    ,@BrowseName VARCHAR(200)
    )
    

    有人知道为什么吗?

    谢谢

    1 回复  |  直到 16 年前
        1
  •  2
  •   KM.    16 年前

    uniqueidentifier (Transact-SQL) . 16字节的GUID值不能正确映射到数字(16,0)。

    为什么不把@GUID参数定义为 uniqueidentifier 数据类型?