Сначала замените период с пространством:
SELECT REPLACE(SELECT UserName FROM YourTable, '.', ' ')
Сохранить в переменной, или поместить это выбрать непосредственно к функции ниже.
К сожалению, у меня нет t-sql в моем распоряжении прямо сейчас, поэтому я не могу проверить, чтобы синтаксис был на 100% правильным.
Затем установить только первые символы в верхний регистр. Если вы использовали oracle, я бы сказал вам использовать initcap, но это не существует в t-sql.
Взято из ссылки: http://www.devx.com/tips/Tip/17608
create function initcap (@text varchar(4000))
returns varchar(4000)
as
begin
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 @text
end
Поэтому использовать эту функцию, чтобы преобразовать строку в верхний регистр. Надеюсь это поможет.
в php вы можете использовать ucwords http://php.net/manual/en/function.ucwords.php –
, или это может вам помочь. http://www.joellipman.com/articles/sql/t-sql/713-convert-to-proper-case-in-t-sql.html –
Предполагая, что это означает, что пользователю будет отображаться более читаемая информация, почему 't вы сохраняете дружественное имя для отображения пользователю (например, их фактическое имя?) –