sql取字符串的⾸字母的函数
如
⽕炬返回 'H'
yuji2008 返回 'Y'
假如⾸位是数字或特殊字符,就直接返回⾸位
如:
3535sfsf 返回'3'
#$%sfsdf43646 返回'#'
返回⼤写字母,要求要⽤sql server 2000函数写
create function[dbo].[chinese_firstletter]
(
@str nvarchar(1)
)
returns nvarchar(1)
as
begin
declare@word nchar(1),@PY nvarchar(4000)
set@PY=''
set@word=left(@str,1)
--如果⾮汉字字符,返回原字符
set@PY=@PY+(case when unicode(@word) between19968and19968+20901
then (
select top1 PY from
(
select'A'as PY,N'驁'as word
union all select'B',N'簿'
union all select'C',N'錯'
union all select'D',N'鵽'
union all select'E',N'樲'
union all select'F',N'鰒'
union all select'G',N'腂'
union all select'H',N'夻'
union all select'J',N'攈'
union all select'K',N'穒'
union all select'L',N'鱳'
union all select'M',N'旀'
union all select'N',N'桛'
union all select'O',N'漚'
union all select'P',N'曝'
union all select'Q',N'囕'
union all select'R',N'鶸'
union all select'S',N'蜶'
union all select'T',N'籜'
union all select'W',N'鶩'
union all select'X',N'鑂'
union all select'Y',N'韻'
union all select'Z',N'咗' ) T where word>=@word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC
)
else@word字符串函数注册登录
end)
set@str=right(@str,len(@str)-1)
return@PY
end
go
Select dbo.chinese_firstletter('福⽥区第五医院')
drop function chinese_firstletter
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论