GetPhoneSSNFormat
ALTER FUNCTION [dbo].[udf_GetPhoneSSNFormat]
(
-- Add the parameters for the function here
@TypeId INT,
@DataValue NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @FormattedValue NVARCHAR(MAX)
SET @FormattedValue = ''
-- Will Remove all white spaces, brackets, hyphens
DECLARE @OriginalValue NVARCHAR(MAX)
SET @OriginalValue = ISNULL(REPLACE(REPLACE(REPLACE(REPLACE(@DataValue,'(',''),')',''),'-',''),' ',''),'')
-- Type Id : 1 For Phone #
-- Type Id : 2 For SSN #
IF @TypeId = 1
BEGIN
SELECT @FormattedValue =
CASE
WHEN LEN(@OriginalValue) = 10
THEN '(' + SUBSTRING(@OriginalValue,1,3) + ') ' + SUBSTRING(@OriginalValue,4,3) + '- ' + SUBSTRING(@OriginalValue,7,4)
WHEN LEN(@OriginalValue) = 7
THEN '( ) ' + SUBSTRING(@OriginalValue,1,3) + '- ' + SUBSTRING(@OriginalValue,4,4)
WHEN LEN(@OriginalValue) = 4
THEN '( ) - ' + SUBSTRING(@OriginalValue,1,4)
WHEN LEN(@OriginalValue) = 0
THEN ''
END
END
ELSE IF @TypeId = 2
BEGIN
SELECT @FormattedValue =
CASE
WHEN LEN(@OriginalValue) = 9
THEN SUBSTRING(@OriginalValue,1,3) + '- ' + SUBSTRING(@OriginalValue,4,2) + '- ' + SUBSTRING(@OriginalValue,6,4)
WHEN LEN(@OriginalValue) = 6
THEN ' - ' + SUBSTRING(@OriginalValue,1,2) + '- ' + SUBSTRING(@OriginalValue,3,4)
WHEN LEN(@OriginalValue) = 4
THEN ' - - ' + SUBSTRING(@OriginalValue,1,4)
WHEN LEN(@OriginalValue) = 0
THEN ''
END
END
-- Return the result of the function
RETURN @FormattedValue
END
(
-- Add the parameters for the function here
@TypeId INT,
@DataValue NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @FormattedValue NVARCHAR(MAX)
SET @FormattedValue = ''
-- Will Remove all white spaces, brackets, hyphens
DECLARE @OriginalValue NVARCHAR(MAX)
SET @OriginalValue = ISNULL(REPLACE(REPLACE(REPLACE(REPLACE(@DataValue,'(',''),')',''),'-',''),' ',''),'')
-- Type Id : 1 For Phone #
-- Type Id : 2 For SSN #
IF @TypeId = 1
BEGIN
SELECT @FormattedValue =
CASE
WHEN LEN(@OriginalValue) = 10
THEN '(' + SUBSTRING(@OriginalValue,1,3) + ') ' + SUBSTRING(@OriginalValue,4,3) + '- ' + SUBSTRING(@OriginalValue,7,4)
WHEN LEN(@OriginalValue) = 7
THEN '( ) ' + SUBSTRING(@OriginalValue,1,3) + '- ' + SUBSTRING(@OriginalValue,4,4)
WHEN LEN(@OriginalValue) = 4
THEN '( ) - ' + SUBSTRING(@OriginalValue,1,4)
WHEN LEN(@OriginalValue) = 0
THEN ''
END
END
ELSE IF @TypeId = 2
BEGIN
SELECT @FormattedValue =
CASE
WHEN LEN(@OriginalValue) = 9
THEN SUBSTRING(@OriginalValue,1,3) + '- ' + SUBSTRING(@OriginalValue,4,2) + '- ' + SUBSTRING(@OriginalValue,6,4)
WHEN LEN(@OriginalValue) = 6
THEN ' - ' + SUBSTRING(@OriginalValue,1,2) + '- ' + SUBSTRING(@OriginalValue,3,4)
WHEN LEN(@OriginalValue) = 4
THEN ' - - ' + SUBSTRING(@OriginalValue,1,4)
WHEN LEN(@OriginalValue) = 0
THEN ''
END
END
-- Return the result of the function
RETURN @FormattedValue
END
Comments
Post a Comment