`
dawuafang
  • 浏览: 1111318 次
文章分类
社区版块
存档分类
最新评论

ibatis(操作mssql)使用like又使用sql的函数后的新发现

 
阅读更多

现在发现可以有三种:

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#) + '%'

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics