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

相关推荐
254054652020 分钟前
629SJBH图书管理系统设计与实现
数据库·毕业设计·毕业论文
PingCAP1 小时前
从 DB-Engines 排名攀升看 TiDB 全球突破之路
数据库·人工智能·tidb
消失在人海中2 小时前
oracle 游标的管理
数据库·oracle
盖世英雄酱581362 小时前
小小的改动,竟然效率提高了1000倍
数据库·后端
八股文领域大手子2 小时前
从接口400ms到20ms,记录一次JVM、MySQL、Redis的混合双打
jvm·数据库·redis·mysql·jar
提高记忆力3 小时前
truncate,drop,delete分析
数据库
江节胜-胜行全栈AI3 小时前
PostgreSQL-中文字段排序-修改字段的排序规则
数据库·postgresql
就是蠢啊3 小时前
SpringBoot 基础知识,HTTP 概述
数据库·mysql·spring
darkchink4 小时前
[LevelDB]Block系统内幕解析-元数据块(Meta Block)&元数据索引块(MetaIndex Block)&索引块(Index Block)
android·java·服务器·c语言·数据库·c++·分布式
代码拾光4 小时前
如果单表数据量大,只能考虑分库分表吗?
数据库