现在发现可以有三种:
1、拼字符串:这个方法一看就很傻!没试验过,网上找的,应该可行。
当应用SELECT * FROM TABLE WHERE COL LIKE 'value%'时如果要把'value'以参数代替,可以把整个LIKE后面的字符串全改为参数,即 SELECT * FROM TABLE WHERE COL LIKE #param#,此时参数param的值为字符串"value%"。
2、使用'$param$%',网上都说很好,但是会有注入的漏洞。并且如果你想再对传入的参数调用sql函数时,这个语句简直无法拼出来了,至少我不行。
使用'$'将参数名包起来,即SELECT * FROM TABLE WHERE COL LIKE'$param$%',此时参数param的值就是字符串"value"。这个方法最好用了!
3、以前没用过,发现很好用。其实也是拼字符串,一般我们在sql语句中这样用 'param%' ,现在变成 'param' + '%' ,其实都一样。
SELECT * FROM TABLE WHERE COL LIKE #param# + '%'
使用函数:
SELECT
* FROM TABLE WHERE COL LIKE dbo.fun_method(#param#)
+ '%'