SQL中关于in关键词的用法问题

SQL 中select 语句中,where 子名有这样一句:表名.字段名 in ('"+计算规则+"')

请问这个是什么意思?计算规则在这里看起来只是一个文本,不像是数据表名或字段名,当然实际是什么我看不出来。

笑笑宝贝 发布于 2022-2-20 12:25
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-2-20 13:03(编辑于 2022-2-20 13:14)

就是一个参数而已

where 1=1

${if(len(参数名称)=0,"","and 表中的字段 in('"+ 参数名称 + "')")}

或者 

where 1=1

${if(len(计算规则)=0,"","and username in('"+ 计算规则 + "')")}

  这个里面的计算规则与参数名称都是一个参数。就是用户在参数面板录入动态的参数后。。sql最后就查出来对应参数的数据。。。。

用户录入的计算规则为:    张三

那么最后形态的语句就是

select * from table_a

where 1=1

and username in('张三')

99999.png

最佳回答
0
3143511Lv5中级互助
发布于2022-2-21 09:15

sql中的in参数是在条件较多时使用的:

1)如果只有一个条件,直接使用“=”;

2)两个条件使用and或者or;

3)多个条件使用in,例如要在45个同学中筛选出张三、李四、王五、这六这四名同学的成绩

用or,表达式为:姓名=张三or姓名=李四or姓名=王五or姓名=这六

用in,表达式为:姓名 in(张三、李四、王五、这六)

省略了引号。

  • 3关注人数
  • 685浏览人数
  • 最后回答于:2022-2-21 09:15
    请选择关闭问题的原因
    确定 取消
    返回顶部