这个SQL语句,你会写吗?

TSD 2005-05-26 03:06:44
表名:StuInfo

字段:StuID,StuName,StuAdr,StuInfo

怎样用SQL语句查出当StuInfo含有100、120、150(这几个ID保存在StuInfo这个字段里,顺序是不定的,以|隔开,如:100|150|120、150|120|100、120|150|100等)这几个ID的记录

select * from StuInfo where ???

后面的语句该怎么写啊?
...全文
225 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
TSD 2005-05-28
  • 打赏
  • 举报
回复
谢谢各位,问题基本已经得到解决了!
chjpeng 2005-05-27
  • 打赏
  • 举报
回复
如果显示包含任意一个关键字的用:
select * from StuInfo where charindex('100',StuInfo)>0 or charindex('120',StuInfo)>0 or charindex('150',StuInfo)>0
xiefeng 2005-05-27
  • 打赏
  • 举报
回复
select * from StuInfo where StuInfo like '%100%' and StuInfo like '%120%' and StuInfo like '%150%'
madpolice 2005-05-27
  • 打赏
  • 举报
回复
select * from StuInfo where
'|' + '100|150|120' + '|'
like
'%|' + cast(StuId AS nvarchar(10)) + '|%'
D_majia 2005-05-27
  • 打赏
  • 举报
回复
如果该条件的数量不能固定的话,用SQL语句实现估计是不行的。刚才查了一下 ODBC 标量函数
没有一个有这样功能的函数。
TSD 2005-05-27
  • 打赏
  • 举报
回复
上面写错字了,"途述"->"叙述"
TSD 2005-05-27
  • 打赏
  • 举报
回复
非常感谢楼上各位朋友!!!问题我可能确实途述得不是很清楚,现在再途述一下我的这个问题

表名:StuInfo

字段:
StuID(类型:数字型,随机ID)
StuName(类型:字符型)
StuAdr(类型:字符型)
StuInfo(类型:字符型)

说明:StuInfo这个字段保存的内容是以"|"隔开的数字ID,最少有1个ID(如:150),最多10个ID(如:100|120|300|160),ID的顺序是随机的,不确定位置.

举个例子,怎样用SQL语句查出当字段StuInfo含有100、120、150(这几个ID保存在StuInfo这个字段里,顺序是不定的,以|隔开,如:100|150|120、150|120|100、120|150|100等)这几个ID的记录

select * from StuInfo where ???

后面的语句该怎么写啊?
kingcrab 2005-05-26
  • 打赏
  • 举报
回复
我认为楼住应该定义一个函数来处理StuInfo
然后再用这个函数来查询。
jonath 2005-05-26
  • 打赏
  • 举报
回复
select * from StuInfo where StuInfo='100|120|150' or StuInfo='100|150|120' or StuInfo='120|100|150' or StuInfo='120|150|100' or StuInfo='150|120|100' or StuInfo='150|100|120'

楼主是这个意思吧?
hermit_yaxia 2005-05-26
  • 打赏
  • 举报
回复
楼主能说的再明白些吗,感觉不太清楚呀,每条记录的StuInfo字段是仅含一个数字呢,还是三个,还是不确定?字段数据是什么类型?
ztmaster 2005-05-26
  • 打赏
  • 举报
回复
楼主问题没讲清楚,查询时是要求只要符合StuID中任何间隔的编号与当前传值的ID匹配还是要按顺序一一对应才符合条件?
lonaerd 2005-05-26
  • 打赏
  • 举报
回复
好象不是很简单。用存储过程加游标到是可以实现,不过不是答案了
zysoft17 2005-05-26
  • 打赏
  • 举报
回复
select * from StuInfo where StuInfo like '100|%' or StuInfo like '%|100|%' or StuInfo like '%|100'
chjpeng 2005-05-26
  • 打赏
  • 举报
回复
select * from StuInfo where charindex('100',StuInfo)>0 and charindex('120',StuInfo)>0 and charindex('150',StuInfo)>0
rober0371 2005-05-26
  • 打赏
  • 举报
回复
楼上正解
holoon 2005-05-26
  • 打赏
  • 举报
回复
真的没碰过,关注。
itzhiren 2005-05-26
  • 打赏
  • 举报
回复
说的不是很清楚,仅限于这三个值?还是stuinfo字段还有别的值?
TSD 2005-05-26
  • 打赏
  • 举报
回复
不能这样子的,而且ID的个数是不限的啊,有可能一个,有可能两个,有可能更多。。。
mymyal123 2005-05-26
  • 打赏
  • 举报
回复
select * from StuInfo where StuInfo like '%100%' or StuInfo like '%120%' or StuInfo like '%150%'

没试过,不知道行不行

28,390

社区成员

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

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