34,576
社区成员
发帖
与我相关
我的任务
分享
declare
@s varchar(50),
@i int,
@j int
select @s = 'thank you for your help',@i = 1,@j = len(@s)
while charindex(' ',' '+@s,@i) >0
begin
set @i = charindex(' ',' '+@s,@i)+1
set @s = stuff(@s,@i-1,1,upper(substring(@s,@i-1,1)))
if @i >@j continue
end
select @s
go
declare @str varchar(200)
set @str='how do you do? '
create table #t(id int identity(65,1),Chr char(1))
insert #t(chr)
select top 26 ' ' from syscolumns
set @str=' ' +@str
SELECT @str=replace(@str,' '+char(id),' '+char(id)) FROM #t
set @str=stuff(@str,1,1,'')
select @str
drop table #t
--使用程序块:
declare
@s varchar(50),
@i int,
@j int
select @s = 'thank you for your help',@i = 1,@j = len(@s)
while charindex(' ',' '+@s,@i) >0
begin
set @i = charindex(' ',' '+@s,@i)+1
if @i >=@j continue
set @s = stuff(@s,@i-1,1,upper(substring(@s,@i-1,1)))
end
select @s
--使用函数:
create function F_split(@s nvarchar(1000))
returns nvarchar(1000)
as
begin
declare
@s2 nvarchar(1000),
@Split nvarchar(100)
select @s=@s+char(32),@s2=''
while charindex(char(32),@s)>0
select @Split=left(@s,charindex(char(32),@s)),@s2=@s2+upper(left(@Split,1))+right(@Split,len(@Split)),@s=stuff
(@s,1,charindex(char(32),@s),'')
return @s2
end
go
declare
@s nvarchar(1000)
set @s='thank you for your help'
select dbo.F_split(@s)