Create Title Case In Sql Server Query

Create FUNCTION [dbo].[udf_TitleCase] (@InputString VARCHAR(4000),@IsRemoveunderscore int)
RETURNS VARCHAR(4000)
AS
BEGIN
DECLARE @Index INT
DECLARE @Char CHAR(1)
DECLARE @OutputString VARCHAR(255)

SET @OutputString = LOWER(@InputString)
SET @Index = 2
SET @OutputString =
STUFF(@OutputString, 1, 1,UPPER(SUBSTRING(@InputString,1,1)))
WHILE @Index <= LEN(@InputString)
BEGIN
SET @Char = SUBSTRING(@InputString, @Index, 1)
IF @Char IN (' ', ';', ':', '!', '?', ',', '.', '_', '-', '/', '&','''','(')
IF @Index + 1 <= LEN(@InputString)
BEGIN
IF @Char != ''''
OR
UPPER(SUBSTRING(@InputString, @Index + 1, 1)) != 'S'
SET @OutputString =
STUFF(@OutputString, @Index + 1, 1,UPPER(SUBSTRING(@InputString, @Index + 1, 1)))
END
SET @Index = @Index + 1
END
IF (@IsRemoveunderscore=1)
BEGIN
SET @OutputString = REPLACE(ISNULL(@OutputString,''),'_',' ')
END
ELSE
BEGIN
SET @OutputString = REPLACE(ISNULL(@OutputString,''),'_','')
END

RETURN @OutputString
END

0 comments:

Post a Comment