UFN_MATCHFINDER_BUILDADDRESS

Returns a formatted address for a MatchFinder Online record.

Return

Return Type
nvarchar(250)

Parameters

Parameter Parameter Type Mode Description
@ADDRESSBLOCK nvarchar(150) IN
@CITY nvarchar(50) IN
@STATE nvarchar(100) IN
@POSTCODE nvarchar(12) IN
@COUNTRY nvarchar(100) IN

Definition

Copy


            create function dbo.UFN_MATCHFINDER_BUILDADDRESS
            (
                @ADDRESSBLOCK nvarchar(150),
                @CITY nvarchar(50),
                @STATE nvarchar(100),
                @POSTCODE nvarchar(12),
                @COUNTRY nvarchar(100)
            )
            returns nvarchar(250)
            as
            begin
                declare @R nvarchar(250);
                declare @COUNTRYID uniqueidentifier;
                declare @STATEID uniqueidentifier;

                set @R = N'';
                set @COUNTRYID = null;
                set @STATEID = null;

                select top 1 @COUNTRYID = ID from dbo.COUNTRY where COUNTRY.DESCRIPTION = @COUNTRY;
                if not @COUNTRYID is null
                    select top 1 @STATEID = ID from dbo.STATE where (STATE.DESCRIPTION = @STATE or STATE.ABBREVIATION = @STATE) and STATE.COUNTRYID = @COUNTRYID;

                if not @COUNTRYID is null and not @STATEID is null
                    select @R = dbo.UFN_BUILDFULLADDRESS(null, @ADDRESSBLOCK, @CITY, @STATEID, @POSTCODE, @COUNTRYID);
                else
                begin
                    --Use a default format. This is currently based on the implementation of UFN_ADDRESS_FORMAT_US, but that function takes

                    --state and country IDs; so I re-wrote it here to use the descriptions from @STATE and @COUNTRY instead

                    if len(@ADDRESSBLOCK) > 0
                        set @R = @ADDRESSBLOCK;

                    if len(@ADDRESSBLOCK) > 0 and (len(@CITY) > 0 or len(@STATE) > 0 or len(@POSTCODE) > 0)
                        set @R = @R + NCHAR(13) + NCHAR(10);

                    if len(@CITY) > 0
                        set @R = @R + @CITY;

                    if len(@CITY) > 0 and (len(@STATE) > 0 or len(@POSTCODE) > 0)
                        set @R = @R + NCHAR(44) + NCHAR(32);    

                    if len(@STATE) > 0
                        set @R = @R + @STATE;

                    if (len(@CITY) > 0 or len(@STATE) > 0) and len(@POSTCODE) > 0
                        set @R = @R + NCHAR(32)

                    if len(@STATE) > 0 and len(@POSTCODE) > 0
                        set @R = @R + NCHAR(32)

                   if len(@POSTCODE) > 0
                        set @R = @R +@POSTCODE;
                end

                return @R;
            end