再次提问,查询一段文字里面含有数据库关键字字段中的哪些关键字????

各位大神,现在我有一张表,存了一些关键字信息,然后有一段文字,怎么样能查询到这段文字里有哪些关键字呢。
比如字段里的关键字是:编程;菜鸟;问答。有一段话“我的编程技术是菜鸟水平”。
然后查询这段文字里面包含了哪些关键字???
有能帮忙的吗???
infokeys
编程
菜鸟
问答

之前以为老哥教我用了instr
然而~~~领导说啦,这里有些情况效果不能实现呀


ID 关键字
1 我,编程
2 菜鸟
3 技术

字符串为“我的编程技术是菜鸟水平”

这样的话ID是1的关键字是查不出来的,有没有解决的办法,能让字符串里的内容和关键字字段匹配的上

5个回答

刚也在学习这个现在才弄出来,select regexp_substr(我的编程技术是菜鸟水平,关键字 ) from 表

weixin_38749068
_Damon_ym 回复丵鹰: 在下面,951936683,私聊吧,太尴尬了
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 截图看下
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 诶?不对,查出来的是只有一个关键字的,多个关键的没查出来
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 呃。。查出来了,可是没有关键字的也查出来了,害我翻了好久
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 对啊,不行吗
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: select regexp_substr('我的测试编程test技术是test1菜鸟测试1水平' , REPLACE(keys , ' , ' , '[.*]+')) from zs_info;
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 有逗号啊
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 你复制错了,中间的那个单引号中有个逗号好不好
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 我贴了图片在下面
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 我执行的还是有效果的,你的语句发出来看下
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 看懂了,看懂了,,,可是查不出来。。。
3 年多之前 回复
strutce
丵鹰 这样不理解我也投降了
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 如果规则都一样就是按逗号分隔的话,select regexp_substr(我的编程技术是菜鸟水平,"REPLACE"(关键字字段名称, ',', '[.*]+')) from 表
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 啊?改数据库?数据库关键字的内容不能改
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 这个就是完整的啦 select regexp_substr(我的编程技术是菜鸟水平,关键字字段名称 ) from 表,因为你没有表名和字段,这个要你自己去替换
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: oracle 正则表达式 搜索这个看看
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 把数据库中的“我,编程”改成“我[.*]+编程”这样,然后执行select regexp_substr(我的编程技术是菜鸟水平,关键字字段名称 ) from 表
3 年多之前 回复
weixin_38749068
_Damon_ym 回复丵鹰: 能不能写个完整的。。。感谢感谢
3 年多之前 回复
weixin_38749068
_Damon_ym 还是没明白。。。我是水平真是菜鸟。。。
3 年多之前 回复
strutce
丵鹰 回复_Damon_ym: 我,编程 改成 '我[.*]+编程' 这个是你关键字的正则表达式
3 年多之前 回复
weixin_38749068
_Damon_ym 后面的那个关键字是什么,字段名还是字段里的值
3 年多之前 回复

你先把数据表里关键字查出来 用“”,“”拼接,然后获取字符串,

把关键字split(“”,“”),然后用 字符串.indexof(),比较即可

用正则表达式啊。。。。。。

图片说明
图片说明

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问