如题

解决方案 »

  1.   

    --SQL函数取汉字拼音首字母create function comm_getpy

        @str nvarchar(4000) 

    returns nvarchar(4000) 
    as 
    begindeclare @word nchar(1),@PY nvarchar(4000)set @PY=''while len(@str)>0 
    begin 
        set @word=left(@str,1)    --如果非汉字字符,返回原字符 
        set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 
                   then ( 
                                select top 1 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) 
    end 
    return @PY 
    end在存储数据(字符串)时利用以上函数在表里存放一个首字母简写字段.下次再根据此字段来查询