我有一些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'];
或EXISTS
和regexp_split_to_table()
SELECT EXISTS (SELECT *
FROM regexp_split_to_table('{"words": "111, 222"}'::json->>'words', ', ') stt (c)
WHERE stt.c = '222');
数据库<>小提琴