Если вы используете SQL 2005 и 2008, лучше всего написать процедуру CLR, чтобы выполнить форматирование за вас. .NET Framework имеет очень мощные процедуры форматирования для различных типов данных, и имеет смысл использовать их, когда вы хотите выполнить форматирование на уровне базы данных.
Несмотря на то, должен ли это быть в случае, если, конечно, весьма спорно. Я понимаю, почему команда SQL Server не склоняется к гибкому форматированию, поскольку основной задачей базы данных является хранение и извлечение данных.