数据查询参数问题

 我现在想根据fine_username 来判断是否属于这个区域的,例如fine_username=01 后面就是NL,fine_username=02就是NC 

FineReport yzmBWKmn9966235 发布于 2023-11-23 13:56
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CovidLv3高级互助
发布于2023-11-23 13:57(编辑于 2023-11-24 15:04)

SELECT * FROM TABLE WHERE 1=1 ${SWITCH(fine_username,"01"," AND XXX='NL',"02","AND XXX='NC'"")}

+---------------

SELECT * FROM TABLE WHERE 1=1 ${SWITCH("true",find("NL",fine_username)>0," AND XXX='NL'",find("NC",fine_username)>0,"AND XXX='NC'")}

---------------

SELECT * FROM TABLE WHERE 1=1 ${SWITCH("true",find("NL",fine_username)>0," AND XXX='NL'",find("NC",fine_username)>0,"AND XXX='NC'",1=1," AND 1<>1")}

  • yzmBWKmn9966235 yzmBWKmn9966235(提问者) 那如果我的意思fine_username里面有nl的后面是 and xxx=\'NL\' 呢,就是不是一个确定的值 是一个包含nl的
    2023-11-23 14:02 
  • Covid Covid 回复 yzmBWKmn9966235(提问者) 补充在上面了
    2023-11-23 14:05 
  • Cloud777 Cloud777(提问者) 回复 Covid 那这个如果匹配不到的人 就无法访问数据 该怎么改呢
    2023-11-24 15:01 
  • Covid Covid 回复 Cloud777(提问者) 补充在上面了
    2023-11-24 15:04 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-11-23 13:57(编辑于 2023-11-23 14:00)

${if(fine_username='01',"NL","Nc")}

你是要根据用户名查到区域代码?

select * from b

where 1=1

${if(sql("xxx","select code from b where user='"+fine_username+"',1,1")='01',"and xxx='NL'","and xxx='NC'")}

  • 2关注人数
  • 199浏览人数
  • 最后回答于:2023-11-24 15:04
    请选择关闭问题的原因
    确定 取消
    返回顶部