PostgreSQL Check JSON 字段包含



我有一些json结构,并尝试检查字符串是否包含一些值?我需要检查,是不是单词包含 222。

例如:

{
    "words": "111, 222"
}

如果你想知道 222 在字符串中是否可用,请尝试 include 函数

OBJECT_NAME.words.include("222"(; 它给你真实的

OBJECT_NAME.words.include("22222"(; 它给你假的

你可以使用LIKE

SELECT ', ' || ('{"words": "111, 222"}'::json->>'words') || ', ' LIKE '%, 222, %';

regexp_split_to_array数组包含运算符@>

SELECT regexp_split_to_array('{"words": "111, 222"}'::json->>'words', ', ') @> ARRAY['222'];

EXISTSregexp_split_to_table()

SELECT EXISTS (SELECT *
                      FROM regexp_split_to_table('{"words": "111, 222"}'::json->>'words', ', ') stt (c)
                      WHERE stt.c = '222');

数据库<>小提琴

相关内容

  • 没有找到相关文章