关于ASP判断是否包含字符串的问题。

paladinzhu 2017-06-06 11:08:51

发段代码:SELECT id,title FROM Sd_Info where classid in (1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137) and ID=668

本身是想判断classid 是否为(1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137)这些数字中的一个。

classid 的值是数字。
但是现在有个问题。假设classid=3 实际这串数字中没有3,但是有123,131,23,143等等,也会判断为包含,请问如何解决这个问题呢?
...全文
1800 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rings2006 2018-05-06
  • 打赏
  • 举报
回复
SELECT id,title FROM Sd_Info where classid like %,3,% and classid in (,1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137,) and ID=668
  • 打赏
  • 举报
回复
引用 楼主 paladinzhu 的回复:
发段代码:SELECT id,title FROM Sd_Info where classid in (1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137) and ID=668 本身是想判断classid 是否为(1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137)这些数字中的一个。 classid 的值是数字。 但是现在有个问题。假设classid=3 实际这串数字中没有3,但是有123,131,23,143等等,也会判断为包含,请问如何解决这个问题呢?
你是想判断包含3,还是不包含3,不包含3,你这个不也是可以的么?
Tanyz 2018-04-07
  • 打赏
  • 举报
回复
sql!!! 上面提出了很多解决方案
学习a123456 2018-04-02
  • 打赏
  • 举报
回复
错了,应该是+23+,+523+,+67+,
学习a123456 2018-04-02
  • 打赏
  • 举报
回复
这个问题以前我也遇到了,头痛,后来就是人为给每个部分添加一个字符。 23+,523+,67+,
a24722 2017-10-31
  • 打赏
  • 举报
回复
classid<>3
lz471183090 2017-08-30
  • 打赏
  • 举报
回复

classid =“,”  + classid  +","
SELECT id,title FROM Sd_Info where classid in (,1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137,) and ID=668 
刚刚说错了。在classid前后加上逗号,在in后面的字符串前后也加上逗号
lz471183090 2017-08-30
  • 打赏
  • 举报
回复

SELECT id,title FROM Sd_Info where classid like %,3,%  and classid in (,1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137,) and ID=668

3前面和后面加个,字符串也加个
paladinzhu 2017-06-12
  • 打赏
  • 举报
回复
我如何应对其它的呢,比如12,实际没有12,但是有123会判断为有,怎么办呢?
  • 打赏
  • 举报
回复
给你个思路。可以定义一个数组 比如a[]=[3,12,15,20] for(int 1=0;i<a.length();i++) { string sqlstr="SELECT id,title FROM Sd_Info where classid like %a[i]% and classid in (1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137) and ID=668" } 大概思路这样,用循环把你要得查出来
本人QQ-554433626 2017-06-06
  • 打赏
  • 举报
回复

SELECT id,title FROM Sd_Info where classid like %3%  and classid in (1,105,106,107,11,120,121,122,123,126,96,131,18,23,30,4,39,128,143,144,145,17,34,12,95,132,21,19,130,137) and ID=668
ManBOyyy 2017-06-06
  • 打赏
  • 举报
回复
SELECT id,title FROM Sd_Info where classid like (%3%) and id1=668

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧