碧海蓝天
今朝有酒今朝醉 明日无茶明日醒

用SQL脚本获取汉字首字母,代码如下:

 1CREATE FUNCTION [dbo].[uf_GetPY](@str nvarchar(4000))
 2RETURNS nvarchar(4000)
 3AS
 4BEGIN
 5    DECLARE @py TABLE(
 6        ch char(1),
 7        hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
 8        hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
 9    INSERT @py SELECT 'A',N'',N''
10    UNION  ALL SELECT 'B',N'',N'簿'
11    UNION  ALL SELECT 'C',N'',N''
12    UNION  ALL SELECT 'D',N'',N''
13    UNION  ALL SELECT 'E',N'',N''
14    UNION  ALL SELECT 'F',N'',N''
15    UNION  ALL SELECT 'G',N'',N''
16    UNION  ALL SELECT 'H',N'',N''
17    UNION  ALL SELECT 'J',N'',N''
18    UNION  ALL SELECT 'K',N'',N''
19    UNION  ALL SELECT 'L',N'',N''
20    UNION  ALL SELECT 'M',N'',N''
21    UNION  ALL SELECT 'N',N'',N''
22    UNION  ALL SELECT 'O',N'',N''
23    UNION  ALL SELECT 'P',N'',N''
24    UNION  ALL SELECT 'Q',N'',N''
25    UNION  ALL SELECT 'R',N'',N''
26    UNION  ALL SELECT 'S',N'',N''
27    UNION  ALL SELECT 'T',N'',N''
28    UNION  ALL SELECT 'W',N'',N''
29    UNION  ALL SELECT 'X',N'',N''
30    UNION  ALL SELECT 'Y',N'',N''
31    UNION  ALL SELECT 'Z',N'',N''
32    DECLARE @i int
33    SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
34    WHILE @i>0
35        SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
36            ,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
37        FROM @py
38        WHERE SUBSTRING(@str,@i,1BETWEEN hz1 AND hz2
39    RETURN(@str)
40END

 基于此,你想实现获取汉字拼音也不难了,哈哈

posted on 2007-01-12 17:46  碧海蓝天  阅读(878)  评论(0)    收藏  举报