首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql的模糊查询,该怎么解决

2012-04-21 
sql的模糊查询怎么通过首字母实现模糊查询?例如:查询张三输入zs即可查询出张三这个字符[解决办法]参考 h

sql的模糊查询
怎么通过首字母实现模糊查询?
  例如: 查询 张三 输入zs即可查询出"张三"这个字符

[解决办法]
参考 http://topic.csdn.net/u/20090531/17/9a3a17dd-53d0-44d1-bc12-ac8a3daa78d8.html
[解决办法]

SQL code
create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000)asbegin    declare @word nchar(1)    declare @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 @PYendgoselect dbo.fun_getPY('dddd)drop function fun_getPY 

热点排行