[运维|数据库] msql中的 FIND_IN_SET如何转化为pg数据中的ARRAY_POSITION的函数

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,则表示找到了该值。

相关推荐
一个响当当的名号11 小时前
lectrue8 表索引
数据库
独自破碎E11 小时前
MySQL是怎么实现事务的?
数据库·mysql
卜锦元11 小时前
Docker Compose 部署 MySQL 8.4 LTS(生产级实践方案)
数据库·mysql·docker·容器
学嵌入式的小杨同学11 小时前
【嵌入式 C 语言高频考点】周测 + 期中真题解析:从基础语法到编程实战
c语言·数据结构·数据库·vscode·算法·面试
_lst_11 小时前
Linux文件系统:EXT系列
数据库
卜锦元11 小时前
Docker Compose 部署 MySQL 5.7(生产级实践方案)
数据库·mysql·adb·docker
PGCCC12 小时前
通知:中国PostgreSQL培训认证 2026年度开班计划
数据库·postgresql
踢足球092912 小时前
寒假打卡:2026-01-23
数据库·sql
冉冰学姐12 小时前
SSM药店管理系统1m48u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·计算机毕业设计·ssm 框架应用·药店管理系统
万粉变现经纪人12 小时前
如何解决 pip install pyodbc 报错 缺少 ‘cl.exe’ 或 ‘sql.h’(ODBC 头文件)问题
数据库·python·sql·网络协议·bug·ssl·pip