急啊 请教一条查询语句 不明白你想怎么匹配。 至于字段中的,你可以去掉的,比如字段名为name,可以select replace(name,',','') from 表; 得到的就是去掉逗号后的内容,你可以拿这个做你想要的匹配 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用FIND_IN_SET(str,strlist)就行。mysql> SELECT FIND_IN_SET('b','a,b,c,d');-> 2 FIND_IN_SET(要查询的关键字,数据库中以逗号分割的关键字字段) 那直接用like也可以啊,where 字段 like '%关键字%'; 你不是用一个数组吗?怎么又用逗号了?取数组的第一个元素,然后SELECT FIND_IN_SET(数组元素,数据库字段),如果没有匹配会返回0,非0就是匹配。取数组下一个元素,再比较。。循环比较就行了。如果你的数组元素还包含逗号,那就是关键字设计的问题了。 还是不很清楚你的目的,是说要查出新闻表中字段包含有1,和2,及3的所有内容么select * from tabname where body like '%1,%' and body like '%2,%' and body like '%3%';是不是要的结果呢 $keyword = "电脑,IT新闻,WEB开发";$keyList = explode(",", $keyword);$sql .= "SELECT * FROM news WHERE FIND_IN_SET('" . array_shift($keyList) . "',keywordField) IS NOT NULL ";foreach($keyList as $val){ $sql .= "|| FIND_IN_SET('" . $val . "',keywordField) IS NOT NULL ";}mysql_query( $sql ); 奇怪,我的mysql采用任何的密码登录root都对 varchar与char的基础疑惑问题 mysql查询语句问题(急) mysql 频繁插入会不会崩溃 一道 笔试题 有点意思!~ 关于MySQL变量的问题! Table 中的某一個欄位, 由 Char(10)改為 Char(100), 速度全部都慢下來什麼原因造成 有没有sql语句能够判断某个表是否存在? 环境linux 8.0安装MYSQL出错,在线等,急!!!!! 怎样从MySQL连接池中提取连接。 谁能帮我把SQL语句优化一下 为什么我建不了Mysql的数据库呢?
-> 2
SELECT FIND_IN_SET(数组元素,数据库字段),如果没有匹配会返回0,非0就是匹配。
取数组下一个元素,再比较。。
循环比较就行了。如果你的数组元素还包含逗号,那就是关键字设计的问题了。
select * from tabname where body like '%1,%' and body like '%2,%' and body like '%3%';是不是要的结果呢
$keyList = explode(",", $keyword);$sql .= "SELECT * FROM news
WHERE FIND_IN_SET('" . array_shift($keyList) . "',keywordField) IS NOT NULL ";
foreach($keyList as $val)
{
$sql .= "|| FIND_IN_SET('" . $val . "',keywordField) IS NOT NULL ";
}mysql_query( $sql );