在 MySQL
中,FIND_IN_SET
函数用于查找一个值是否存在于逗号分隔的字符串列表中。在 PostgreSQL
中,可以使用 string_to_array
函数将逗号分隔的字符串转换为数组,然后使用 ARRAY_POSITION
函数来查找值是否在数组中。
以下是如何将MySQL
中的 FIND_IN_SET
函数转换为 PostgreSQL
中的函数:
MySQL 查询示例:
sql
SELECT FIND_IN_SET('value', 'value1,value2,value3');
等效的 PostgreSQL 查询示例:
sql
SELECT CASE WHEN ARRAY_POSITION(string_to_array('value1,value2,value3', ','), 'value') IS NOT NULL THEN 'Found' ELSE 'Not Found' END;
在上面的 PostgreSQL
查询中,我们首先使用 string_to_array
函数将逗号分隔的字符串 'value1,value2,value3' 转换为一个数组,然后使用 ARRAY_POSITION
函数来查找 'value' 是否在数组中。如果该函数返回的位置不为 NULL
,则表示找到了该值。