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

问题描述

我有一个media_type列,其中包含以下示例值

*media_type*
-------------------
socialmedia,paper
tv
paper,tv
pamplet,board
tv,board,pamplet

我想过滤仅通过一种媒体进行广告宣传的促销信息。

解决方法

您可以使用locate()

select *
from mytable
where not locate(',',media_type)

此短语为:获取media_type不是null并且不包含逗号的所有行。

更可移植的方法使用like

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