UFN_MKTSEGMENTATIONFINDERNUMBER_BUILDRANGE
Returns a formatted finder number range.
Return
Return Type |
---|
nvarchar(50) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MIN | bigint | IN | |
@MAX | bigint | IN | |
@WIDTH | int | IN | |
@CHECKDIGIT | bit | IN |
Definition
Copy
CREATE function dbo.[UFN_MKTSEGMENTATIONFINDERNUMBER_BUILDRANGE]
(
@MIN bigint,
@MAX bigint,
@WIDTH int,
@CHECKDIGIT bit
)
returns nvarchar(50)
as
begin
declare @RANGE nvarchar(50);
declare @STRINGNUM nvarchar(25);
declare @INDEX int;
--build max side
set @RANGE = '';
set @STRINGNUM = right(replicate('0', @WIDTH) + cast(@MAX as nvarchar(25)), @WIDTH);
set @INDEX = @WIDTH - 2;
while @INDEX > -2
begin
set @RANGE = SUBSTRING(@STRINGNUM,@INDEX, 3) + ' ' + @RANGE;
set @INDEX -= 3;
end
--build middle
if @CHECKDIGIT = 0
set @RANGE = '- ' + @RANGE;
else
set @RANGE = '# - ' + @RANGE + ' #';
--build min side
set @STRINGNUM = right(replicate('0', @WIDTH) + cast(@MIN as nvarchar(25)), @WIDTH);
set @INDEX = @WIDTH - 2;
while @INDEX > -2
begin
set @RANGE = SUBSTRING(@STRINGNUM,@INDEX, 3) + ' ' + @RANGE;
set @INDEX -= 3;
end
return rtrim(@RANGE);
end