写一个sql自定义函数GetSearch('columnname','%aaa/%bbb'),返回的值是一个模糊查询:columnname like '%aaa%' or columnname like '%bbb%',这个函数GetSearch该怎么写?

解决方案 »

  1.   


    create function dbo.GetSearch
    (
    @columnname varchar(40),
    @con varchar(40)
    )
    returns varchar(100)
    as
    begin
    declare @s varchar(100) set @s=''
    declare @i int; set @i=1
    if charindex('/',@con)>0
    begin
    set @i=len(@con)-len(replace(@con,'/',''))+1
    end
         while @i>0
    begin
    set @s=@s+@columnname+' like '''+ parsename(replace(@con,'/','.'),@i)+'%''' +' or '
    set @i=@i-1
    end    set @s=left(@s,len(@s)-3)
    return @s
    endselect dbo.GetSearch('columnname','%aaa/%bbb')
    /*
    columnname like '%aaa%' or columnname like '%bbb%'
    */