找文章 / 找答案
精选问答 更多内容

[可视化] 根据参数值切换where条件

菜鸟007青铜二 显示全部楼层 发表于 2024-9-9 15:35:02 |阅读模式 打印 上一主题 下一主题
1
已解决

【可视化】 根据参数值切换where条件

152 8
永洪可不可以实现这样的场景:where 1=1
and a=a1
and b=b1
当传递参数x=1时,第一个条件a=a1成立,同时条件二失效,当传递参数x=2时,条件二b=b1成立,同时条件一失效

最佳答案

永洪社区YVP
阿姆斯特朗炮 铂金一 关注Ta

2024-09-09 15:35:03

看这个,永洪回复有问题,说我恶意攻击……………………
查看完整内容
回复

使用道具 举报

精彩评论8

阿姆斯特朗炮铂金一 显示全部楼层 发表于 2024-9-9 15:35:03
菜鸟007 发表于 2024-9-10 14:32
and (( -->((  and,这个这样写嘛,后面的两个括号提到前面哪里呀
  1. where
  2. ( 1=1 <开始> and a.day_dat >=?{开始}</开始> <结束> and a.day<=?{结束} </结束>  and ?{类型} ='月')
  3. or
  4. ( 1=1 <开始> and a.day_dat >=?{开始}</开始> <结束> and a.day<=?{结束} </结束>  and ?{类型} ='周')
复制代码

看这个,永洪回复有问题,说我恶意攻击……………………
回复

使用道具 举报

朝花夕拾白银三 显示全部楼层 发表于 2024-9-9 15:43:34
你把a1和b1也作为参数,在参数设置中写固定值。用尖括号的形式括起来,前端写脚本控制x=1时,b1为空,否则a1为空
回复

使用道具 举报

阿姆斯特朗炮铂金一 显示全部楼层 发表于 2024-9-9 15:46:53
where 1=1
and ((a=a1 and param["x"] = 1)
or (b=b1 and param["x"] = 2))
回复

使用道具 举报

菜鸟007青铜二 显示全部楼层 发表于 2024-9-9 16:45:35
阿姆斯特朗炮 发表于 2024-9-9 15:46
where 1=1
and ((a=a1 and param["x"] = 1)
or (b=b1 and param["x"] = 2))

QQ截图20240909164452.png 大佬看看这样写可以吗
回复

使用道具 举报

阿姆斯特朗炮铂金一 显示全部楼层 发表于 2024-9-10 09:30:46
菜鸟007 发表于 2024-9-9 16:45
大佬看看这样写可以吗

你这样写有问题,如果提交参数开始日期和结束日期,如果有是空的,会报错,因为参数为空,不拼接<>内的内容的,但是后面的)or会拼接上,这样会提示语法错了,最好吧<提交参数开始日期> and ((的括号提到前面去,后面的两个括号也是,需要放到前面
回复

使用道具 举报

菜鸟007青铜二 显示全部楼层 发表于 2024-9-10 14:32:46
阿姆斯特朗炮 发表于 2024-9-10 09:30
你这样写有问题,如果提交参数开始日期和结束日期,如果有是空的,会报错,因为参数为空,不拼接内的内容 ...

<提交参数开始日期> and (( -->(( <提交参数开始日期> and,这个这样写嘛,后面的两个括号提到前面哪里呀
回复

使用道具 举报

阿姆斯特朗炮铂金一 显示全部楼层 发表于 2024-9-10 14:39:07
本帖最后由 阿姆斯特朗炮 于 2024-9-10 14:41 编辑
菜鸟007 发表于 2024-9-10 14:32
and (( -->((  and,这个这样写嘛,后面的两个括号提到前面哪里呀
  1. where
  2. ( 1=1 <开始> and a.day_dat >=?{开始}</开始> <结束> and a.day<=?{结束} </结束>  and ?{类型} ='月')
复制代码

差不多这个意思,你得考虑,如果<>参数下没有内容在,这一段不拼接的话,他的sql语句是否正确
回复

使用道具 举报

菜鸟007青铜二 显示全部楼层 发表于 2024-9-10 14:49:47
阿姆斯特朗炮 发表于 2024-9-10 14:41
看这个,永洪回复有问题,说我恶意攻击……………………

茅塞顿开,豁然开朗
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部