存储过程|拼音
-- =============================================
-- Create scalar function (NWGetPYFirst)
-- =============================================
IF EXISTS (SELECT *
FROM sysobjects
WHERE name = N'NWGetPYFirst')
DROP FUNCTION NWGetPYFirst
GO
CREATE FUNCTION NWGetPYFirst
(str varchar(500) = '')
RETURNS varchar(500)
AS
BEGIN
Declare strlen int,
return varchar(500),
ii int,
c char(1),
chn nchar(1)
--//初始化变量
Declare pytable table(
chn char(2) COLLATE Chinese_PRC_CS_AS NOT NULL,
py char(1) COLLATE Chinese_PRC_CS_AS NULL,
PRIMARY KEY (chn)
)
insert into pytable values('吖', 'A')
insert into pytable values('八', 'B')
insert into pytable values('嚓', 'C')
insert into pytable values('咑', 'D')
insert into pytable values('妸', 'E')
insert into pytable values('发', 'F')
insert into pytable values('旮', 'G')
insert into pytable values('铪', 'H')
insert into pytable values('丌', 'I')
--insert into pytable values('丌', 'J')
insert into pytable values('咔', 'K')
insert into pytable values('垃', 'L')
insert into pytable values('嘸', 'M')
insert into pytable values('拏', 'N')
insert into pytable values('噢', 'O')
insert into pytable values('妑', 'P')
insert into pytable values('七', 'Q')
insert into pytable values('呥', 'R')
insert into pytable values('仨', 'S')
insert into pytable values('他', 'T')
insert into pytable values('屲', 'U')
--insert into pytable values('屲', 'V')
--insert into pytable values('屲', 'W')
insert into pytable values('夕', 'X')
insert into pytable values('丫', 'Y')
insert into pytable values('帀', 'Z')
select strlen = len(str), return = '', ii = 0
--//循环整个字符串,用拼音的首字母替换汉字
while ii < strlen
begin
select ii = ii + 1, chn = substring(str, ii, 1)
if chn > 'z' --//检索输入的字符串中有中文字符
SELECT c = max(py)
FROM pytable
where chn <= chn
else
set c=chn
set return=return+c
end
return return
END
GO
-- =============================================
-- Example to execute function
-- =============================================
SELECT dbo.NWGetPYFirst('梦想国度'), dbo.NWGetPYFirst('noctwolf分享源码'), dbo.NWGetPYFirst('')
GO