数据查询,某个字段是否包含某个关键字,sql语句如何写??

tiger波波 2020-08-22 09:18:24
大家好,假如我有个数据表tab_test字段如下:
id names xxxx
1 aaa,bbbb,ccc,dd,eeee xxxxxx
2 www,ee,dd,aaa,hhh yyyyyy
... ..... ...


其中字段names,是用逗号分隔的字符串,我想查询所有names字段包含aaa的记录,请问sql语句怎么写??
...全文
2742 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
smwhotjay 2020-08-22
  • 打赏
  • 举报
回复
like 模糊查询
worldy 2020-08-22
  • 打赏
  • 举报
回复
select * from tab_test where names like "%aaaa%"
tiger波波 2020-08-22
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
SQL LIKE 操作符
多谢帮助。 但是如果有这样一条记录: 3 aaaaa,xx,xxx,xxx ccc 也会把这条记录找出来,不太符合要求,不太精准。 我查到有find_in_set这个功能,但是只貌似是mysql的,我用的sqlite3不支持。
zgl7903 2020-08-22
  • 打赏
  • 举报
回复
an_bachelor 2020-08-22
  • 打赏
  • 举报
回复
引用 5 楼 陈仲甫 的回复:
这个设计是违背第一范式的 建议拆分这个字段的内容 语句可以用 where name like '%,xxx,%' or name like 'xxx,%'
完整的语句是: SELECT * FROM [tabl_name] where name like '%,xxx,%' or name like 'xxx,%' or name like '%,xxx' or name = 'xxx' 恶心吧?遵循数据库设计范式才是最省事的,哪怕设计的时候费事一点,最终会省事
an_bachelor 2020-08-22
  • 打赏
  • 举报
回复
这个设计是违背第一范式的 建议拆分这个字段的内容 语句可以用 where name like '%,xxx,%' or name like 'xxx,%'

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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