[运维|数据库] 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,则表示找到了该值。

相关推荐
数智化管理手记28 分钟前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
吴声子夜歌32 分钟前
MongoDB 4.2——选择片键
数据库·mongodb
天天进步一点点1 小时前
QSqlQuery删除sqlite数据库执行drop数据表报错database table is locked unable to fetch row问题
数据库·oracle·sqlite
音视频工程实战1 小时前
PromptQL 新手入门与实战指南
数据库·sql·算法
清川渡水2 小时前
NL2SQL 的正确打开方式:从「AI 猜 SQL」到「置信度闭环」的工程化落地
数据库·人工智能·sql
TDengine (老段)2 小时前
TDengine Go 与 Rust 连接器 — 高性能异步访问
大数据·数据库·物联网·golang·rust·时序数据库·tdengine
东方佑2 小时前
MA-RMSNorm:打破“缩放换智能”的魔咒,大模型归一化的一次范式革命!
数据库·人工智能·计算机视觉
云和恩墨3 小时前
「云帆计划·长沙站」活动成功举办,云和恩墨与紫薇垣和湖南金悦科技分别签约并授牌,本地伙伴生态建设加速
数据库·科技
千维百策6663 小时前
如何管理错误预算:提升服务可靠性与 SLO 达成率的实践经验
服务器·网络·数据库
Y3815326625 小时前
2026 年 7 月,SERP API 调用的稳定性实战:超时、重试、降级
开发语言·数据库·人工智能·php