SQL如何篩選数据排除第四码为2或3且尾数不为0的资料。

数据库 SqlServer (工具是mssms)

取第四位不为2,3 的数据,或者第四位为2,3时最后一位为0的记录

"BI31502","BI31500","BI32501","BI32502","BI32503","BI32500","BI33500","BI33501"

select後 正確結果

>>>:"BI31502","BI31500","BI32500","BI33500"

CCCCCCC.JPG

FineReport cheng1217 发布于 2022-8-12 08:51 (编辑于 2022-8-12 10:39)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
1
lxy2Lv6中级互助
发布于2022-8-12 08:53(编辑于 2022-8-12 10:36)

where substring(字段名,4,1) not in ('2','3') and right(字段名,1)<>'0'image.png

  • cheng1217 cheng1217(提问者) \"BI31500\",\"BI32500\",\"BI33500\"尾數為0但第四碼不為2/3都被篩掉了。
    2022-08-12 09:05 
  • lxy2 lxy2 回复 cheng1217(提问者) where substring(a,4,1) not in (\'2\',\'3\') or( substring(a,4,1) in (\'2\',\'3\') and right(a,1)=\'0\')
    2022-08-12 10:28 
  • lxy2 lxy2 回复 cheng1217(提问者) 你要的结果描述应该是要取第四位不为2,3 的数据,或者第四位为2,3时最后一位为0的记录
    2022-08-12 10:30 
  • cheng1217 cheng1217(提问者) 回复 lxy2 谢谢回答!
    2022-08-12 10:41 
最佳回答
1
Z4u3z1Lv6专家互助
发布于2022-8-12 08:53(编辑于 2022-8-12 09:49)

啥子数据库?

-----

SELECT * FROM TABLE WHERE    SUBSTRING(SOLUTION,4,1) not in ('2','3') AND SOLUTION NOT LIKE '%0'

-----

image.png

最佳回答
1
用户6nm2m1774015Lv3见习互助
发布于2022-8-12 10:23

 条件是 这个楼主你试一下  就是有点麻烦每个都要加上去 SUBSTRING(DefectCount,4,1)+right(DefectCount,1) not in('21','22','23','24','25','26','27','28','29','31','32','33','34','35','36','37','38','39')image.png

最佳回答
0
小歆嵩Lv7初级互助
发布于2022-8-12 08:54

right(left(SOLUTION,4),1) not in ('2','3') and right(SOLUTION,1)<>'0'

  • cheng1217 cheng1217(提问者) \"BI31500\",\"BI32500\",\"BI33500\"尾數為0但第四碼不為2/3都被篩掉了。
    2022-08-12 09:05 
  • 小歆嵩 小歆嵩 回复 cheng1217(提问者) right(left(SOLUTION,4),1) not in (\'2\',\'3\') or right(SOLUTION,1)<>\'0\'
    2022-08-12 09:07 
  • cheng1217 cheng1217(提问者) 回复 小歆嵩 : BI31500,BI31502,BI32501,BI32502,BI32503,BI33501 >>> 不是我要的結果
    2022-08-12 09:13 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-8-12 09:34

你要的结果到底是什么,把正确的结果全部放出来

  • cheng1217 cheng1217(提问者) >>>\"BI31502\",\"BI31500\",\"BI32500\",\"BI33500\"
    2022-08-12 09:36 
  • CD20160914 CD20160914 回复 cheng1217(提问者) BI32500 这个第4位是2,同时尾数是0为什么又是需要的了
    2022-08-12 10:30 
  • cheng1217 cheng1217(提问者) 回复 CD20160914 取第四位不为2,3 的数据,或者第四位为2,3时最后一位为0的记录 谢谢回答! 已有解!
    2022-08-12 10:58 
  • 3关注人数
  • 734浏览人数
  • 最后回答于:2022-8-12 10:39
    请选择关闭问题的原因
    确定 取消
    返回顶部