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

Comments

Popular posts from this blog

Querying a Data Table Using Select Method and Lambda Expressions in Dot Net

StringToTable