如何检查mysql表中的列是否为逗号分隔的not值列表
我有一个列media_类型,其示例值如下如何检查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_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 '%,%'