历史版本1 :下拉复选框多值模糊查询 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1.问题描述编辑

使用下拉复选框选择多个值后,如何实现按照每个值去模糊查询,如下:

222

2.解决思路编辑

通过sql来处理,不同的数据库处理方法不一样,下面分别介绍。

3.解决步骤编辑

3.1Oracle数据库解决方案

主要使用regexp_like()函数来解决。

1)新建数据查询(使用Oracle数据库内置的emp表),注意:没有%号

select * from emp where regexp_like(ename,'${name}')

222

2)报表设计如下:

222

3)设置控件添加数据字典

222

4)设置控件返回值类型为字符串,分隔符为 | 符号。

222

5)保存预览即可。

3.2mysql数据库解决方案

mysql实现方式与Oracle类似,不同的是要使用rlike关键字,注意:没有%号如:

select * from emp where ename rlike '${name}'

或者使用regexp关键字,注意:没有%号如:

select * from emp where ename regexp '${name}'

其他步骤与Oracle方案一样。

3.3sqlserver数据库解决方案

sqlserver没有类似的关键字来解决,只能通过老办法拼接字符串。

数据查询如下,注意:有%号

select * from emp where ename like '%${name}%'

下拉复选框返回值类型为字符串,分割符为%' or ename like '%

222

其他步骤与Oracle方案一致。

此方案不仅适用sqlserver,也适用其它数据库。

如果出现以下提示:

222

则是系统开启了sql防注入,可在考虑安全后取消or关键字注入,如下:

222

4.移动端效果编辑

1)app效果

222

2)H5效果
222