Back to OIM Explorer

dbo.QBM_FCVStringToBigInt

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 906 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

SQL51 lines
1CREATE FUNCTION dbo.QBM_FCVStringToBigInt(2  @InputValue nvarchar(256),3  @defaultvalue bigint4) RETURNS bigint5  WITH SCHEMABINDING6AS7BEGIN8  DECLARE @work nvarchar(256)9  DECLARE @ergNum numeric(38,10  1)11  DECLARE @erg bigint12  DECLARE @work2 nvarchar(256)13  DECLARE @in nvarchar(256) = replace(replace(trim(isnull(@InputValue, '')), N ',', N '.'),14  N ' ',15  N '')16  SELECT17    @erg = TRY_CONVERT(bigint,18    @in)19  IF @erg IS NOT NULL AND @in > ' '20  BEGIN21    RETURN(@erg)22  END23  SELECT @work = @in24  SELECT @work2 = N ''25  IF26  LEFT(@work,27  1) = N '-'28  BEGIN29    SELECT @work2 = N '-'30    SELECT31      @work = substring(@work,32      2,33      255)34  END35  SELECT36    @work2 += substring(@work,37    1,38    len(@work) - len(ltrim(translate(@work, '1234567890.', '           '))))39  IF @work2 = N ''40  BEGIN41    SELECT @erg = @defaultvalue42    RETURN(@erg)43  END44  SELECT45    @ergNum = convert(numeric(38, 1),46    @work2)47  SELECT48    @erg = convert(bigint,49    round(@ergNum, 0)) endLabel:50  RETURN(@erg)51END
Open raw exported source
SQL ยท Raw7 lines
1  create   function dbo.QBM_FCVStringToBigInt (@InputValue nvarchar(256) , @defaultvalue bigint ) returns bigint with SCHEMABINDING as begin declare2 @work nvarchar(256)  declare @ergNum numeric(38,1) declare @erg bigint declare @work2 nvarchar(256)  declare @in nvarchar(256) = replace(replace(trim(isnull3(@InputValue, '')) , N',', N'.') , N' ', N'') select @erg = TRY_CONVERT(bigint, @in) if @erg is not null and @in > ' ' begin  return(@erg)  end select 4@work = @in  select @work2 = N'' if left(@work,1) = N'-' begin select @work2 = N'-' select @work = substring( @work, 2,255) end        select @work2 +=5 substring(@work, 1, len(@work)- len(ltrim(translate (@work, '1234567890.', '           ')))) if @work2 = N'' begin select @erg = @defaultvalue  return6(@erg)  end  select @ergNum = convert(numeric(38,1), @work2) select @erg = convert(bigint, round(@ergNum,0)) endLabel: return(@erg) end 7