sqlserver 分页模糊查询
?? 积少成多 ----? 仅以此致敬和我一样在慢慢前进的人儿 问题: 在sqlserver 进行模糊查询,出现问题 最初使用“concat”,进行拼串操作,如下所示: 运行结果:“concat” 是不是可以识别的函数,不是内置函数 查询结果: “concat”方法进行拼串,只适用于mysql 和 oracle,不适用于sqlserver,这个函数是用来连接字符串, ? ? ? ? ? ? ? ? ? ? ? ? sqlserver中没有,可以使用 + 连接符号搞定 解决方案:使用传统的拼串操作,“like”操作尝试: 尝试一: 使用占位符(#{}) ? com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围。 ? 查询结果:在使用占位符进行模糊查询时不能把问号放在引号里面,问号的位置必须跟字段名同级;(不理解) ? 解决方案:like ‘%‘ + #{quertText} + ‘%’(成功运行) <select id = "queryCount" resultType="int" > ? 尝试二: 使用EL表达式(成功运行) <select id = "queryCount" resultType="int" > select count(*) from t_user <where> <if test = "queryText!= null"> loginacct like ‘%${queryText}%‘ </if> </where> </select> ? ? 结论:sqlserver 模糊查询中, 优先使用 like ‘%‘ + #{quertText} + ‘%’进行操作 ? sqlserver 分页模糊查询例码:(供自己忘记后查看) <select id = "queryList" resultType="T_user"> select top ${pagesize}* from t_user <where> <if test = "queryText!=null">loginacct like ‘%‘ + #{queryText}+ ‘%‘ and id not in (select top ${startIndex} id from t_user order by id) order by id </if> </where> <where> <if test = "queryText==null"> id not in (select top ${startIndex} id from t_user order by id) order by id </if> </where> </select> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |