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

相关推荐
恣艺38 分钟前
Redis列表(List):实现队列/栈的利器,底层原理与实战
数据库·redis·list
秋难降1 小时前
零基础学习SQL(十一):SQL 索引结构|从 B+Tree 到 Hash,面试常问的 “为啥选 B+Tree” 有答案了
数据库·后端·mysql
代码的余温1 小时前
Linux内核调优实战指南
linux·服务器·数据库
almighty271 小时前
C# DataGridView表头自定义设置全攻略
数据库·c#·winform·datagridview·自定义表头
ljh5746491192 小时前
mysql 必须在逗号分隔字符串和JSON字段之间二选一,怎么选
数据库·mysql·json
论迹2 小时前
【Redis】-- 持久化
数据库·redis·缓存
getdu2 小时前
Redis面试相关
数据库·redis·面试
TDengine (老段)2 小时前
TDengine 选择函数 TOP() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
m0_694845572 小时前
教你使用服务器如何搭建数据库
linux·运维·服务器·数据库·云计算
okra-4 小时前
如何进行WEB安全性测试
数据库