这样的mysql语句怎么写?急!

141242 2004-03-22 03:42:33
我有一个字符串:"西方体育,西方,西方求败,西方文学"
假设我现在要查询是否精确包含"西方",(而且这个"西方"的位置可能出现在字符串的任何位置,而不是上面字符串中指定的位置。)而不是:西方体育 西方求败 西方文学
如果是模糊查询:select * from $table where title like '%西方%'
但这样显然不能满足实际需要。
请问精确查询怎么做?
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhiesc 2004-04-01
  • 打赏
  • 举报
回复
上面有错误,这样应该行:
<?php
$keyword = "关键字";//是关键字
$strlen = strlen($keyword);//获取关键字的长度
$i = 0;
$temp = "%";
while($i<=$strlen)
{
$temp .= substr($keyword,$i,2)."%";//因为是中文,因此这里要取2个字节

$i+=2;//这里加2是因为汉字占两个字节
//$i++;//如果要查的是英文,$i就加1
}
//说明:经过while后,$temp = %关%键%字%%
$temp1 = substr($temp,0,-1);//去掉最后一个“%”
echo $temp1;
//$query = "select * from yourtable where filed like '$temp1'";
//以下是其他代码,应该不用我写了吧。
//................................
?>
fhiesc 2004-03-24
  • 打赏
  • 举报
回复
这样你试试:
$temp = "西方";//$temp可以为任何字符串
$str = "%";
$i = 0;
while($i < strlen($temp))
{
$search = $str.substr($temp,$i,1);
$i++;
}

//然后用$search作为查询条件
select * from table where title like $search;
//这样就可以实现真正的模糊查询,因为经过while后$search = %西%方%

easyck 2004-03-23
  • 打赏
  • 举报
回复
西方* 行不行啊?
tangqiuzheng 2004-03-22
  • 打赏
  • 举报
回复
楼主的意思:
-----------------------
ASDFSA西方LKSDFJ
西方
SDFLKJ西方DFKKWG哈哈09898
DFAS西方哈哈098DF
一天到晚游泳的鱼西方
西方西方西方西方西方西方西方西方西方
---------
上面有哪几条不符合,哪几条符合?

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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