Back to OIM Explorer

dbo.QBM_FCVAnyToHash

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 1.170 characters

Interpretation

  • Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.

Relations

  • No extracted relations.

Typed Edges

  • No typed edges extracted for this source.

References

  • No direct source references extracted.

Referenced By

Complete Source

SQL43 lines
1CREATE FUNCTION dbo.QBM_FCVAnyToHash(2  @in sql_variant3) RETURNS varbinary(204)5  WITH SCHEMABINDING6AS7BEGIN8  RETURN(HASHBYTES('SHA1', CASE9  WHEN @in IS NULL THEN10  CASE SQL_VARIANT_PROPERTY(@in, 'BaseType')11    WHEN 'datetime' THEN12  convert(varbinary(520), convert(nvarchar(23), isnull(@in, '1899-12-30'), 121))13    WHEN 'int' THEN14  convert(varbinary(100), N '')15    WHEN 'bigint' THEN16  convert(varbinary(100), N '')17    WHEN 'float' THEN18  convert(varbinary(100), N '')19  ELSE 0x020  END21  WHEN DATALENGTH(@in) = 0 THEN22  0x023  ELSE CASE SQL_VARIANT_PROPERTY(@in, 'BaseType')24  WHEN 'varchar' THEN25  convert(varbinary(8000), convert(nvarchar(4000), @in))26  WHEN 'nvarchar' THEN27  convert(varbinary(8000), @in)28  WHEN 'int' THEN29  convert(varbinary(520), convert(nvarchar(256), @in))30  WHEN 'bigint' THEN31  convert(varbinary(520), convert(nvarchar(256), @in))32  WHEN 'varbinary' THEN33  convert(varbinary(8000), @in)34  WHEN 'datetime' THEN35  convert(varbinary(100), convert(nvarchar(23), isnull(@in, '1899-12-30'), 121))36  WHEN 'float' THEN37  convert(varbinary(520), convert(nvarchar(256), @in))38  WHEN 'numeric' THEN39  convert(varbinary(520), convert(nvarchar(256), convert(float, @in)))40  ELSE 0x11ff41  END42  END))43END
Open raw exported source
SQL ยท Raw9 lines
1      create   function dbo.QBM_FCVAnyToHash( @in sql_variant ) returns varbinary(20) with SCHEMABINDING as begin return (HASHBYTES('SHA1', case2 when @in is null then case SQL_VARIANT_PROPERTY(@in, 'BaseType')  when 'datetime' then convert(varbinary(520), convert(nvarchar(23), isnull(@in, '1899-12-30'3), 121)) when 'int' then convert(varbinary(100), N'') when 'bigint' then convert(varbinary(100), N'') when 'float' then convert(varbinary(100), N'') else4 0x0 end when DATALENGTH(@in) = 0 then 0x0 else  case SQL_VARIANT_PROPERTY(@in, 'BaseType') when 'varchar' then convert(varbinary(8000), convert(nvarchar5(4000), @in)) when 'nvarchar' then convert(varbinary(8000), @in) when 'int' then convert(varbinary(520), convert(nvarchar(256), @in)) when 'bigint' then6 convert(varbinary(520), convert(nvarchar(256), @in)) when 'varbinary' then convert(varbinary(8000), @in) when 'datetime' then convert(varbinary(100), 7convert(nvarchar(23), isnull(@in, '1899-12-30'), 121)) when 'float' then convert(varbinary(520), convert(nvarchar(256), @in)) when 'numeric' then convert8(varbinary(520), convert(nvarchar(256), convert(float, @in))) else 0x11ff end end ) ) end 9