UFN_MKTSEGMENTATION_COMPAREADDRESSPROCESSINGOPTIONS

Compares address processing options settings, and returns true if they're different and false if not.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@USEADDRESSPROCESSING1 bit IN
@ADDRESSPROCESSINGOPTIONID1 uniqueidentifier IN
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE1 tinyint IN
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE1 datetime IN
@USEADDRESSPROCESSING2 bit IN
@ADDRESSPROCESSINGOPTIONID2 uniqueidentifier IN
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE2 tinyint IN
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE2 datetime IN

Definition

Copy


CREATE function dbo.[UFN_MKTSEGMENTATION_COMPAREADDRESSPROCESSINGOPTIONS]
(
  @USEADDRESSPROCESSING1 bit,
  @ADDRESSPROCESSINGOPTIONID1 uniqueidentifier,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE1 tinyint
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE1 datetime,
  @USEADDRESSPROCESSING2 bit,
  @ADDRESSPROCESSINGOPTIONID2 uniqueidentifier,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE2 tinyint
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE2 datetime
)
returns bit
as
  begin
    declare @DIFFERENT bit;
    set @DIFFERENT = 0;

    if @USEADDRESSPROCESSING1 <> @USEADDRESSPROCESSING2
      set @DIFFERENT = 1
    else
      if @USEADDRESSPROCESSING1 = 1
        if @ADDRESSPROCESSINGOPTIONID1 <> @ADDRESSPROCESSINGOPTIONID2 or 
           @ADDRESSPROCESSINGOPTIONID1 is null and @ADDRESSPROCESSINGOPTIONID2 is not null or 
           @ADDRESSPROCESSINGOPTIONID1 is not null and @ADDRESSPROCESSINGOPTIONID2 is null
          set @DIFFERENT = 1
        else
          if @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE1 <> @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE2 or
             (@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE1 = 1 and @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE1 <> @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE2)
            set @DIFFERENT = 1;

    return @DIFFERENT;
  end;