T-SQL Function for Capitalize Word and Sentences

Posted by on Oct 25, 2012 in SQL Server, T-SQL | No Comments
Facebooktwittergoogle_plusredditpinterestlinkedintumblrmailFacebooktwittergoogle_plusredditpinterestlinkedintumblrmail

Hi folks,

Today I faced a situation that I need to capitalize sentences in one column of a SQL Server database table, so I created a function to do that, I put this here to share with you.

this function will change sentences like  :

select dbo.Capitalize(‘sample text for capitalization!‘)

to :

Sample Text For Capitalization!

Here you will find the function :

CREATE FUNCTION dbo.Capitalize

(

@text varchar(max)

)

RETURNS varchar(max)

AS

BEGIN

declare @outputtext varchar(max)

declare @spaceCount int

declare @counter int

declare @term varchar(max)

declare @index int

declare @spaceIndex int


set @outputtext=”

set @text=ltrim(rtrim(@text))


set @spaceCount= len(@text)-len(replace(@text,’ ‘,”))

set @counter=0

set @index=1

while @counter<=@spaceCount

begin


if @index<>1 

begin

set @index=@index+1

end 


set @spaceIndex=charindex(‘ ‘,@text,@index)


if @spaceIndex=0

begin

set @spaceIndex=len(@text)+1

end

if @index<>1

begin

set @outputtext= @outputtext+’ ‘+ UPPER(substring(@text,@index,1))+LOWER(substring(@text,@index+1,(@spaceIndex-@index)-1))

end

else

begin

set @outputtext= @outputtext+ UPPER(substring(@text,@index,1))+LOWER(substring(@text,@index+1,(@spaceIndex-@index)-1))

end


set @counter=@counter+1

set @index=@spaceIndex


end


RETURN @outputtext


END

GO

and here you can see how to use this function:

select dbo.Capitalize(‘sample text for capitalization!’)

and result will be like this:

Sample Text For Capitalization!

This function has still spaces for development, for example if you have more than single space between words this will break, I will update it in future appropriate times.

Facebooktwittergoogle_plusredditpinterestlinkedintumblrmailFacebooktwittergoogle_plusredditpinterestlinkedintumblrmail
rssyoutuberssyoutube
Reza Rad
Reza Rad is an Author, Trainer, Speaker and DW/BI Consultant. He has a BSc in Computer engineering; he has more than 15 years’ experience in databases, programming and development mostly on Microsoft technologies. He is a Microsoft MVP in Data Platform for seven continues years (from 2011 till now) for his dedication in Microsoft BI. He is author of some SQL Server and BI books, and also Power BI online book; from Rookie to Rock Star.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">