Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查mysql表中的列是否为逗号分隔的not值列表_Mysql_Sql_String_Where Clause_Sql Like - Fatal编程技术网

如何检查mysql表中的列是否为逗号分隔的not值列表

如何检查mysql表中的列是否为逗号分隔的not值列表,mysql,sql,string,where-clause,sql-like,Mysql,Sql,String,Where Clause,Sql Like,我有一个列media_类型,其示例值如下 *media_type* ------------------- socialmedia, paper tv paper, tv pamplet,board tv,board,pamplet 我想筛选仅通过一种媒体发布的促销活动。您可以使用locate(): 此短语为:获取其media\u type不为null且不包含逗号的所有行 一种更具可移植性的方法使用类似于的: select * from mytable where media_type not

我有一个列media_类型,其示例值如下

*media_type*
-------------------
socialmedia, paper
tv
paper, tv
pamplet,board
tv,board,pamplet
我想筛选仅通过一种媒体发布的促销活动。

您可以使用
locate()

此短语为:获取其
media\u type
不为
null
且不包含逗号的所有行

一种更具可移植性的方法使用类似于的

select *
from mytable
where media_type not like '%,%'

仅使用mysql,就可以使用
LOCATE()
函数。如果它是关系数据库中的一个表,那么就没有什么可担心的,因为它不可能包含分隔列表。如果它包含一个带分隔符的列表,那么它不可能是关系数据库中的表,所以这不是我们的问题。
select *
from mytable
where media_type not like '%,%'