Sunday, 17 August 2014

SQL : Change the Uppercase to Lowercase But Uppercase after hyphen, apostophe or space


Below function change uppercase name to lower case with first letter capital if the name has space, hyphen(-) or apostophe (‘).

 
Ex : FLOWER TULIP  to Flower Tulip

     FLOWER-TULIP to Flower-Tulip

     TULIP O’TULIP to Tulip O’Tulip

     FLOWER BUD-TULIP O’TULIP  to Flower Bud-Tulip O’Tulip

 
CREATE FUNCTION CapToLower(@Name VARCHAR(8000))

RETURNS VARCHAR(8000)

AS

BEGIN

DECLARE @Position INT
                  
SELECT @Name    = STUFF(LOWER(@Name),1,1,UPPER(LEFT(@Name,1))) COLLATE Latin1_General_Bin,@Position = PATINDEX('%[^A-Za-z][a-z]%',@Name COLLATE Latin1_General_Bin);

WHILE @Position > 0

SELECT @Name   = STUFF(@Name,@Position,2,UPPER(SUBSTRING(@Name,@Position,2))) COLLATE Latin1_General_Bin,@Position = PATINDEX('%[^A-Za-z][a-z]%',@Name COLLATE Latin1_General_Bin);

RETURN @Name;

END
GO

No comments:

Post a Comment