菜鸟一枚,请教一个关于Sql查询的问题

后台接受到前台检索框传过的查询参数,现在想在前台可以加个类似以 "|" 分隔输入查询参数,后台解析分隔符前后,where 列名 like "%前半截%" and 列名 like "%后半截%" 这种效果

13个回答

最安全的方式是,先在后台代码中通过|进行拆分,把前台传过来的一个参数变成2个参数,这样再传入SQL中。否则的话SQL容易出错。

建议通过 字符串.split("|") 方法代码先拆分再传入sql

select substring('wushu|cheng', 1, locate('|', 'wushu|cheng') - 1);
select substring('wushu|cheng', locate('|', 'wushu|cheng') + 1);

用的什么持久化工具做的数据库管理

后台分开写,利用动态数组查询数据

参考代码如下,以下是图书的分条件查询

if(bookname!=null&&bookname.length()>0){
sql+=" and bookname like ?";
sqlParams.add("%"+bookname+"%");
}
if(publisherID!=null&&publisherID.length()>0){
sql+=" and publisherid=?";
sqlParams.add(publisherID);
}



比如"zhangsan|18",先用代码(js或后台代码)将字符串分割成“zhangsan”、“18”,然后作为参数拼接进SQL中。

select substring('wushu|cheng', 1, locate('|', 'wushu|cheng') - 1);
select substring('wushu|cheng', locate('|', 'wushu|cheng') + 1);

使用split("|")方法分割字符串,然后再拼接查询

 select *  xxxxx where 列名 like % substring_index('a|b','|', 1) % and 列名 like "% substring_index('a|b','|', -1)  %"

后台收到参数后,用split("|")拆分为两个变量后再使用。

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

23
JQuery写判断语句问题 本人菜鸟小白
6
地磅取数java开发,从串口获取到的数据全是乱码,请教各位老师如何解决!
4
MySql 怎样实现指定数值的平均分配
5
函数问题请教,请大神帮忙解答
2
MYSQL CREATE TABLE 菜鸟问题
1
网上查了好多也不知道怎么搞 刚入android的小菜鸟一枚 求解答
2
关于orcl SQL语句 多表链接查询,在相同值里取时间最大的那个。
2
highchart中zones没效果?怎么回事呀?大佬们帮我看看,菜鸟一枚,数据格式好像也没错呀
2
来自计算机菜鸟的提问 :c语言中void怎么用?求解求解。求师傅
4
java菜鸟一枚希望大神可以帮我改一下代码。代码除了问题但是没有报错。
1
菜鸟的提问:关于C++类的组合的疑问,我这串代码哪儿错了
1
关于在Linux上使用套接字Socket发送一个较大UDP包的问题?
2
C/C++菜鸟 指针问题不理解
1
带有身份验证机制创建的 .net mvc项目想添加控制器实现增删改查(使用ef),数据上下文的地方改选什么?
1
执行效率哪个好?求大神指导 菜鸟一枚
4
获取手机软件商店中某一款APP的评论信息,大佬们给个思路
1
菜鸟想询问一个关于easyx的函数问题!
0
教室人数识别,空位识别相关问题?
1
关于sqlbulkcopy,程序中使用sqlbulkcopy会让运行效率下降吗?
3
菜鸟虚心请教微信小程序的问题,为什么在attached后面加了function()之后就不会执行?