에 기능을 실행하면 I 적절한 경우에 텍스트로 변환 다음과 같은 기능을 가지고 :특정 열
는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'와 같은 이름을주의하십시오. –