devxlogo

Title Case Function for SQL Server

Title Case Function for SQL Server

As a SQL Server DBA, I realized that SQL Server has no function for Title Case, like the “initcap” function in Oracle. So I’ve made one that capitalizes the first letter of every word in a given text string:

create function initcap (@text varchar(4000))returns varchar(4000)asbegin	declare 	@counter int, 		@length int,		@char char(1),		@textnew varchar(4000)	set @text		= rtrim(@text)	set @text		= lower(@text)	set @length 	= len(@text)	set @counter 	= 1	set @text = upper(left(@text, 1) ) + right(@text, @length - 1) 	while @counter  @length --+ 1	begin		select @char = substring(@text, @counter, 1)		IF @char = space(1)  or @char =  '_' or @char = ','  or @char = '.' or @char = '' or @char = '/' or @char = '(' or @char = ')'		begin			set @textnew = left(@text, @counter)  + upper(substring(@text, @counter+1, 1)) + right(@text, (@length - @counter) - 1)			set @text	 = @textnew		end		set @counter = @counter + 1	end	return @textend

devx-admin

Share the Post: