sqlserver 如何将表中, 某字段里面所有数据的首字母都转换为大写
如题:某一个表有1000条数据,如test表下的name列,name的值全是英文,如何批量将所有name值的首字母都转换成大写字母?求高手解答...
如题:某一个表有1000条数据, 如 test 表下的name列, name的值全是英文, 如何批量将所有name值的首字母都转换成大写字母? 求高手解答
展开
展开全部
update test set name= STUFF( name,1,1,UPPER(SUBSTRING(name,1,1)))
更多追问追答
追问
测试了下你这个, 是把整个字符串的首字母改成了大写, 那么如何将字符串中,每个单词的首字母转换成大写? 比如说“name student class address phone” 转换成“Name Student Class Address Phone” 谢了
追答
create function f_Trans(@col varchar(2000))
returns varchar(2000)
as
begin
set @col=replace(@col,' ',' ')
set @col=replace(@col,',','**,')
set @col=replace(@col,' ',',')
declare @sql varchar(2000)
set @sql=''
while charindex(',',@col)>0
select @sql=@sql+upper(left(@col,1))+LOWER(replace(substring(@col,2,charindex(',',@col)-1),',',' ')),
@col=substring(@col,charindex(',',@col)+1,len(@col)-charindex(',',@col))
set @sql=@sql+upper(left(@col,1)) + replace(LOWER(right(@col,len(@col)-1)),',',' ')
set @sql=replace(@sql,'** ',',')
set @sql=replace(@sql,',,',', ')
return(@sql)
end
go
调用
update test set name=dbo.f_Trans(name)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询