首页 > 解决方案 > PostgreSQL - 如何匹配列具有逗号分隔值的表中的值

问题描述

我有一个包含以下字段值的表:

在此处输入图像描述

我想做一个select可以匹配此关键字列中的值的地方。例如:

SELECT templateid FROM public.templates WHERE keyword='Yes'

我不想使用LIKE,因为如果逗号分隔的值之一是,Yessy那么我将得到一个返回,这是不正确的。

它必须与逗号分隔值之一完全匹配。

有什么线索吗?

标签: postgresql

解决方案


您可以将字符串转换为数组:

SELECT templateid 
FROM public.templates 
WHERE 'Yes' = any(string_to_array(keyword, ','))

推荐阅读