Someone just asked me if there's a built-in function in TSQL that takes a string and changes the first letter of each word to upper case. I told them hell I don't know but I think not; here's a way to do it without a bunch of char functions...use a CLR UDF. One line and all works pretty well:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Globalization;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString UpperFirst(string value)
{
return new SqlString(CultureInfo.CurrentCulture.TextInfo.ToTitleCase(value));
}
};
sp_configure 'clr enable',1
GO
RECONFIGURE
GO
SELECT dbo.UpperFirst('TSQL upper case first letter of each word')
GO

3f2f2e00-057b-4ade-8943-a7e629fa9c8f|0|.0