Back to OIM Explorer

dbo.QBM_FGIDateTimeSpanOverlap

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 1.254 characters

Interpretation

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

Relations

  • No extracted relations.

Typed Edges

  • references source dbo.QBM_FGIDate source text reference

Complete Source

SQL82 lines
1CREATE FUNCTION dbo.QBM_FGIDateTimeSpanOverlap(2  @From1 datetime,3  @To1 datetime,4  @From2 datetime,5  @To2 datetime,6  @ToDatewWithAutoEvening BIT7) RETURNS BIT8  WITH SCHEMABINDING9AS10BEGIN11  DECLARE @Erg BIT = 012  DECLARE @From1_I datetime = isnull(@From1,13  '1899-12-30')14  DECLARE @From2_I datetime = isnull(@From2,15  '1899-12-30')16  DECLARE @To1_I datetime17  DECLARE @To2_I datetime18  IF @ToDatewWithAutoEvening = 019  BEGIN20    SELECT21      @To1_I = isnull(@To1,22      '2200-01-01')23    SELECT24      @To2_I = isnull(@To2,25      '2200-01-01')26  END27  ELSE28  BEGIN29    SELECT @To1_I = @To130    SELECT @To2_I = @To231    IF convert(datetime,32    CONVERT(date, @To1_I)) = @To1_I33    BEGIN34      SELECT35        @To1_I = DATEADD(SS,36        86399,37        @To1_I)38    END39    IF convert(datetime,40    CONVERT(date, @To2_I)) = @To2_I41    BEGIN42      SELECT43        @To2_I = DATEADD(SS,44        86399,45        @To2_I)46    END47    SELECT48      @To1_I = isnull(@To1_I,49      '2200-01-01')50    SELECT51      @To2_I = isnull(@To2_I,52      '2200-01-01')53  END54  IF @From1_I >= @From2_I55  BEGIN56    IF @To1_I <= @To2_I57    BEGIN58      SELECT @Erg = 159      RETURN(@erg)60    END61    IF @To2_I BETWEEN @From1_I AND @To1_I62    BEGIN63      SELECT @Erg = 164      RETURN(@erg)65    END66  END67  ELSE68  BEGIN69    IF @To2_I <= @To1_I70    BEGIN71      SELECT @Erg = 172      RETURN(@erg)73    END74    IF @To1_I BETWEEN @From2_I AND @To2_I75    BEGIN76      SELECT @Erg = 177      RETURN(@erg)78    END79  END80  endLabel:81  RETURN(@erg)82END
Open raw exported source
SQL ยท Raw10 lines
1           create   function dbo.QBM_FGIDateTimeSpanOverlap(@From1 datetime , @To1 datetime , @From2 datetime , @To2 datetime , @ToDatewWithAutoEvening2 bit ) returns bit with SCHEMABINDING as begin  declare @Erg bit = 0 declare @From1_I datetime = isnull(@From1, '1899-12-30') declare @From2_I datetime3 = isnull(@From2, '1899-12-30') declare @To1_I datetime declare @To2_I datetime if @ToDatewWithAutoEvening = 0 begin select @To1_I = isnull(@To1, '2200-01-01'4) select @To2_I = isnull(@To2, '2200-01-01') end else begin  select @To1_I = @To1 select @To2_I = @To2 if convert(datetime, CONVERT(date, @To1_I)) = @To1_I5 begin select @To1_I = DATEADD(SS, 86399, @To1_I)  end if convert(datetime, CONVERT(date, @To2_I)) = @To2_I begin select @To2_I = DATEADD(SS, 86399, @To2_I6)  end select @To1_I = isnull(@To1_I, '2200-01-01') select @To2_I = isnull(@To2_I, '2200-01-01') end     if @From1_I >= @From2_I begin  if @To1_I <= @To2_I7 begin select @Erg = 1  return(@erg)  end  if @To2_I between @From1_I and @To1_I begin select @Erg = 1  return(@erg)  end end else  begin  if @To2_I <=8 @To1_I begin select @Erg = 1  return(@erg)  end  if @To1_I between @From2_I and @To2_I begin select @Erg = 1  return(@erg)  end end endLabel: return(@erg9) end 10