SQL语句:查找某字段存在于一字符串,大神帮忙解答一下~~~

如我有一张名为archives的数据表,内容如下:

现在我有一个字符串,如“张三是李四的兄弟,也是何八的儿子。”,我需要将archives表中title存在于该字符串中的数据调出来,该怎么调?

我解释一下,字符串“张三是李四的兄弟,也是何八的儿子。”中有张三、李四、何八这几个名字,我需要写sql语句,调出以下数据:

请问大神,该如何写呀?
有考虑过,in、like语句,但最终没弄出来。。。
补充一下,我的数据库是MYSQL

试试这个语句:
select * from archives
where charindex('张三是李四的兄弟,也是何八的儿子',title) > 0
用的是charindex函数判断追问

语法不对,说我没有这个字段。
#1305 - FUNCTION mydatabase.CHARINDEX does not exist

追答

你的是什么数据库?

追问

数据库是MYSQL

追答

用这个语句
select * from archives
where LOCATE(title,'张三是李四的兄弟,也是何八的儿子') > 0

也可以把固定字符串改成你需要的东西,或者是字段

追问

非常感谢,在phpmyadmin中测试成功,用到CMS里面也OK了,那个字符串其实是个变量,找这个语法找了好久,激动。。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-25
字符串“张三是李四的兄弟,也是何八的儿子。” 这个应该也是放到某个表里的吧

假设这句话是放在A表汇总的keyword字段中
可以这样写:
select b.id,b.title,b.body
from A as a
join archives as b
on a.keyword like '%'+b.title+'%'
第2个回答  2014-02-25
select * from archives where title like ‘%张三%’ or like ‘%李四%’ or like ‘%何八%’ 看看是不是你想要的追问

字符串其实是个变量,是不确定的,如果确定就好办了。

第3个回答  2014-02-25
你是什么数据库啊追问

数据库是MYSQL