一个Sql匹配查询的问题

chinavane 2005-12-22 04:53:39
字段为keywords里面有如下一些数据:
1,2,3,4
11,2,4
2,3,4
1,2
3,4
6,8
等等
现在我有一个1,2, 我要搜索keywords字段,将字段中包含1或2或1,2的数据取出来,Access数据库,Sql应该如何写呀?
...全文
237 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2005-12-28
  • 打赏
  • 举报
回复
to changechange(http://access911.net 是我的个人网站,欢迎光临)
你是指下面这条语句可以做到吗?
select * from table where "," & fieldName & "," like "*,1,*" or "," & fieldName & "," like "*,2,*" or "," & fieldName & "," like "*,1,2,*"

可我没测试成功。不知楼主测试的怎么样?是不是符合楼主的要求?
大家在讨论,楼主却不参加......
changechange 2005-12-28
  • 打赏
  • 举报
回复
个人认为楼主的问题要用SQL解决的话,只有自定义函数。只用like是做不到的
------我已经做到了
vbman2003 2005-12-28
  • 打赏
  • 举报
回复
哦,我看过了,授教了
是我错会了楼主的意思,以为1、2要同时存在。也就是说不能返回11,2,4...
汗一个
changechange 2005-12-28
  • 打赏
  • 举报
回复
http://access911.net/csdn/filedescription.asp?mdb=2005-12-28&id=28

http://access911.net/csdn/filedescription.asp?mdb=2005-12-28&id=27


上述是我的查询截图,你看一下吧

changechange 2005-12-28
  • 打赏
  • 举报
回复
上述方法是我用了 7-8年的了,你是否成功我不知道,反正我这里上述方法肯定可行

我这里只回答纯 ACCESS 环境问题,其他问题我不回答。

changechange 2005-12-27
  • 打赏
  • 举报
回复
请参考以下文章及其相关文章:

如何从类似"1,23,34,5"这样的文本字段中找出 1 和 23 这样的数字呢?
http://access911.net/?kbid;72FAB11E16DCE8F3

vbman2003 2005-12-27
  • 打赏
  • 举报
回复
个人认为楼主的问题要用SQL解决的话,只有自定义函数。只用like是做不到的
changechange 2005-12-27
  • 打赏
  • 举报
回复
如何从类似"1,23,34,5"这样的文本字段中找出 1 和 23 这样的数字呢?


作者:cg1 摘自:access911.net 编辑:cg1 更新日期:2005-12-27 浏览人次:2

专题地址:
http://access911.net/?kbid;72FAB11E16DCE8F3



简述:
如何从类似"1,23,34,5"这样的文本字段中找出 1 和 23 这样的数字呢?《查询》



阅读前需掌握:
熟练掌握 JET SQL 语句


难度等级:
80

























问题:



如何从类似"1,23,34,5"这样的文本字段中找出 1 和 23 这样的数字呢?





回答:



其实非常简单
select * from table where "," & fieldName & "," like "*,1,*"


即可。
注意,由于在字段上做了字符串组合,在效率上不是最优秀的,但是几乎感觉不出来




问题:



字段为keywords里面有如下一些数据:
1,2,3,4
11,2,4
2,3,4
1,2
3,4
6,8
等等
现在我有一个1,2, 我要搜索keywords字段,将字段中包含1或2或1,2的数据取出来,Access数据库,Sql应该如何写呀?




回答:


select * from table where "," & fieldName & "," like "*,1,*" or "," & fieldName & "," like "*,2,*" or "," & fieldName & "," like "*,1,2,*"



注意,由于在字段上做了字符串组合,在效率上不是最优秀的,但是几乎感觉不出来


vbman2003 2005-12-25
  • 打赏
  • 举报
回复
有意思
做个标记
有空研究一下
wwwwb 2005-12-23
  • 打赏
  • 举报
回复
try:
SELECT *
FROM tt where keywords like "*[1-2]*"
OracleRoob 2005-12-22
  • 打赏
  • 举报
回复
上述语句在Access的查询中执行
OracleRoob 2005-12-22
  • 打赏
  • 举报
回复
字段中包含[1]或[2]或[1,2]
这里只要包括[1,2],肯定包括[1]或[2],所以,只要判断字段中包含[1]或[2]

select *
from 表名
where ("," & keywords & "," like "*,1,*") or ("," & keywords & "," like "*,2,*")
OracleRoob 2005-12-22
  • 打赏
  • 举报
回复
字段中包含[1]或[2]或[1,2]
这里只要包括[1,2],肯定包括[1]或[2],所以,只要判断字段中包含[1]或[2]

select *
from 表名
where "," & keywords & "," like "*,1,*" or "," & keywords & "," like "*,2,*"


7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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