mysql - 如何检查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 '%,%'
推荐阅读
- php - Facebook SDK 以 JFIF 形式返回个人资料图片,如何在 PHP 中转换为 JPG/PNG?
- android - 有没有办法正确模拟房间数据库?
- bash - Bash Script 单引号内的双引号内的单引号内
- r - 如何过滤掉在不同(未指定)列中包含两个特定字符串的行?
- python - 如何使用大量 NaN 对日期时间进行分组
- architecture - Kafka分区重新分配算法及原因
- java - 使用多个方法调用在表中显示值而不覆盖
- azure - 用于文档收集的 Azure cosmosdb changefeed
- null - BCP 导入 Nulls 而不是空字符串。当我导出一个空值时,它看起来与导出一个空字符串一样,这是什么?
- lua - 使用 luafilesystem 目录迭代器跳过当前目录和上一个目录