执行功能,我有以下功能将文本转换为正确的大小写:在一个特定的列
USE [Messaging]
GO
/****** Object: UserDefinedFunction [dbo].[ProperCase] Script Date: 10/28/2014 11:42:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Function [dbo].[ProperCase](@Text as varchar(8000))
returns varchar(8000)
as
begin
declare @Reset bit;
declare @Ret varchar(8000);
declare @i int;
declare @c char(1);
select @Reset = 1, @i=1, @Ret = '';
while (@i <= len(@Text))
select @c= substring(@Text,@i,1),
@Ret = @Ret + case when @Reset=1 then UPPER(@c) else LOWER(@c) end,
@Reset = case when @c like '[a-zA-Z]' then 0 else 1 end,
@i = @i +1
return @Ret
end
的功能工作。如果我运行select dbo.propercase ('DOE, JOHN')
,输出将是“Doe,John”。这正是我想要的。事情是,我想在邮箱表中的MailBoxName字段上运行此函数。我怎么做?
我的建议:在表示层执行此操作。还要注意像'Julio de la SanMarcos'和'Jean-Pierre le VanWyck III'这样的名字。 – 2014-10-28 17:46:36