根据大写字母来截取字符串某些值,该怎么解决
根据大写字母来截取字符串某些值
表中有某个字段来记录名字的拼音,现在显示时要按用户的要求显示格式
如
Chun Xia Song 要显示成 Song C.X
LiXie 要显示成 Xie L
Chen Xi Ou Yang 要显示成 Ou Yang C.X
要怎么转换?名字有四个字时比较特别
------解决方案--------------------
表中有某个字段来记录名字的拼音,现在显示时要按用户的要求显示格式
如
Chun Xia Song 要显示成 Song C.X
LiXie 要显示成 Xie L
Chen Xi Ou Yang 要显示成 Ou Yang C.X
要怎么转换?名字有四个字时比较特别
------解决方案--------------------
- SQL code
--写个函数试试 GO IF OBJECT_ID('Fun_test')IS NOT NULL DROP FUNCTION Fun_test GO CREATE FUNCTION Fun_test(@name varchar(20)) RETURNS VARCHAR(20) AS BEGIN --IF CHARINDEX(' ',@name)>0 --begin declare @str varchar(20) set @str='' declare @firstname varchar(10) declare @midname varchar(10) declare @lastname varchar(10) select @firstname=(left(@name,charindex(' ',@name)-1)) select @midname=(substring(@name,charindex(' ',@name)+1,charindex(' ',@name,charindex(' ',@name)))) select @lastname=reverse(left(reverse(@name),len(@name)-3-charindex(' ',@name,charindex(' ',@name)))) select @str=@lastname+' '+left(@firstname,1)+'.'+left(@midname,1) return @str --end END go GO CREATE TABLE #TEST( NAME VARCHAR(20) ) INSERT #TEST SELECT 'Chen Xi Ou Yang' UNION ALL SELECT 'Chun Xia Song' SELECT dbo.Fun_test(NAME) AS NEMAE FROM #TEST /* NEMAE Ou Yang C.X Song C.X */