首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Postgresql:如何在JSON where key LIKE中获取值?

在PostgreSQL中,可以使用->>操作符来获取JSON字段中的值,并且可以结合LIKE操作符来进行模糊匹配。

假设有一个名为data的JSON字段,其中包含一个名为info的子字段,我们想要获取info字段中键名包含特定字符串的值。可以使用以下语法:

代码语言:txt
复制
SELECT data->>'info' 
FROM your_table 
WHERE data->>'info' LIKE '%your_string%';

上述语句中,your_table是包含JSON字段的表名,data->>'info'表示获取data字段中的info子字段的值,LIKE '%your_string%'表示模糊匹配包含your_string的键名。

需要注意的是,->>操作符返回的是文本类型的值,如果需要进行其他类型的比较或操作,可能需要进行类型转换。

关于PostgreSQL的更多信息和使用方法,可以参考腾讯云的云数据库PostgreSQL产品介绍页面:https://cloud.tencent.com/product/cdb_postgresql

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PostgreSQLJSON处理:技巧与应用》

在这篇文章里,我会为大家详细讲解《PostgreSQLJSON处理:技巧与应用》。一起来挖掘吧! 引言 随着现代应用对于数据结构的多样性要求增加,JSONPostgreSQL的角色日益重要。...PostgreSQL JSON 数据类型 ✨ 2.1 JSON 原生的 JSON 数据类型支持存储 JSON 数据,但它不执行额外的数据验证或约束。...JSON 对象是否包含指定的键值对: SELECT data->'key' FROM my_table WHERE data @> '{"key": "value"}'; 3.2 修改 JSON 数据...实战:PostgreSQL JSON 应用案例 5.1 动态表单 在动态表单,数据结构经常发生变化,使用 JSON 数据类型可以灵活地存储表单字段和数据。...总结 在PostgreSQL处理JSON并不复杂,但为了充分发挥其性能优势,我们需要深入了解它的特性和操作技巧。希望猫头虎的这篇文章能够帮助你在实际工作更好地处理JSON数据!

20110

PostgreSQL安装和使用教程

本文将向您展示如何在不同平台上安装和配置PostgreSQL,并介绍一些基本的数据库操作,让您迅速掌握使用技巧。...支持复杂数据类型:PostgreSQL支持各种复杂数据类型,如数组、JSON、XML等,可以满足各种应用的需求。 大数据处理能力:PostgreSQL支持大数据处理,可以处理数百万甚至数十亿条数据。...可扩展的存储引擎:PostgreSQL支持多种存储引擎,B-tree、哈希表、GiST、SP-GiST、GIN、BRIN等,可以满足不同的应用场景。...SELECT * FROM students WHERE class = '二班'; -- 获取所有男生的姓名和年龄 SELECT name, age FROM students WHERE gender...总结: PostgreSQL是一款强大的开源数据库系统,具有丰富的功能和性能。通过本文提供的安装和使用教程,您可以轻松掌握如何在不同平台上安装和配置PostgreSQL,以及进行基本的数据库操作。

37810

PostgreSQL JSON 和 JSONB 功能与不同

下面是对比JSON & JSONB 之间的不同 1 查询指定值是否在JSON select * from json_test where jsonb_t @> '"foo"'::jsonb; select...我们可以看到,上面的查询JSONB 可以使用 @> 来查询JSON是否有指定值,而JSON则不支持 select * from json_test where jsonb_t @> '[2,1]...2 索引 在对JSON的支持POSTGRESQL 可以使用的索引有BTREE ,GIN,HASH 等INDEX 1 GIN 索引在JSON 主要的作用在查询你JOSN数据的包含值,索引是否可以在...GIN 索引所面对的查询的方式之一 就是判断值是否在JSON 1 JSON 是否存在这个KEY select * from json_test where jsonb_t ?...3 operators POSTGRESQL JOSN的操作符比较多,让人眼花缭乱,而JOSN 和JOSNB之间的区别也在于一些操作符的支持 < less than > greater than

1.9K20

SqlAlchemy 2.0 中文文档(二)

在下面的示例,我们传递JSON类以生成 PostgreSQLjson_object()函数,注意 SQL 返回类型将是 JSON 类型: >>> from sqlalchemy import JSON...PostgreSQL 支持的 json_each() JSON 函数来生成一个具有单列(称为 value)的表值表达式,并选择了其三行的两行。...Python 的 __getitem__ 运算符,在这种情况下,['some_key'] 变得可用,并允许一个 JSON_EXTRACT 路径表达式(但在本例没有显示,最终将是 '$."...在下面的示例,我们将 JSON 类传递给生成 PostgreSQL json_object() 函数,注意 SQL 返回类型将是 JSON 类型: >>> from sqlalchemy import...在下面的示例,我们传递 JSON 类来生成 PostgreSQL json_object() 函数,注意 SQL 返回类型将是 JSON 类型: >>> from sqlalchemy import

14010

PostgreSQL 教程

过滤数据 主题 描述 WHERE 根据指定条件过滤行。 LIMIT 获取查询生成的行的子集。 FETCH 限制查询返回的行数。 IN 选择与值列表的任何值匹配的数据。...LIKE 基于模式匹配过滤数据。 IS NULL 检查值是否为空。 第 3 节. 连接多个表 主题 描述 连接 向您展示 PostgreSQL 连接的简要概述。...hstore 向您介绍数据类型,它是存储在 PostgreSQL 单个值的一组键/值对。 JSON 说明如何使用 JSON 数据类型,并向您展示如何使用一些最重要的 JSON 运算符和函数。...PostgreSQL 技巧 主题 描述 如何比较两个表 描述如何比较数据库两个表的数据。 如何在 PostgreSQL 删除重复行 向您展示从表删除重复行的各种方法。...PostgreSQL 触发器 本节向您介绍 PostgreSQL 触发器概念,并展示如何在 PostgreSQL 管理触发器。

47510

见招拆招-PostgreSQL中文全文索引效率优化

前言 上文 使用PostgreSQL进行中文全文检索 我使用 PostgreSQL 搭建完成了一套中文全文检索系统,对数据库配置和分词都进行了优化,基本的查询完全可以支持,但是在使用过程还是发现了一些很恼人的问题...Mysql一样,PostgreSQL 也支持通过 like '关键词%' 语句来使用 B树索引。...---- 使用子查询优化查询效率 GIN索引效率问题 紧接着又发现了新的问题: PostgreSQL 的 GIN 索引(Generalized Inverted Index 通用倒排索引)存储的是 (key...但这种设计也带来了另一个问题,当某一个 key 对应的 posting list 过大时,数据操作会很慢,如我们的数据地点名带有 饭店 的数据就很多,有几十万,而我们的需求有一项就是要对查询结果按照...: SQL 结果条数 响应时间 添加 limit 后 SQL 响应时间 WHERE tsv @@ tsq OR name LIKE 'keyword%' 13W 2400ms WHERE tsv @@

2.1K80

PostgreSQL JSONB 使用入门

也有很多 JSON 相关的函 数和操作符可以用于存储在这些数据类型的数据 PostgreSQL支持两种 JSON 数据类型:json 和 jsonb。它们几乎接受完全相同的值集合作为输入。...avatar key 的数据条数 explain analyze select count(*) from account where content::jsonb ?...(‘hello', '14:2 23:4'),表示hello在14:2和23:4这两个位置出现过,在PG这些位置实际上就是元组的tid(行号,包括数据块ID(32bit),以及item point...在表的每一个属性,在建立索引时,都可能会被解析为多个键值,所以同一个元组的tid可能会出现在多个key的posting list。...但是下面这种查询并不能使用索引: -- 查询content 不存在 avatar key 的数据条数 explain analyze select count(*) from account where

7.9K20

MySQL5.7特性:JSON数据类型学习

概述 MySQL5.7的发行声明,官方称之为里程碑式的版本,除了运行速度大幅度提升之外,还添加了之前版本没有的功能,本文所述的原生JSON数据类型功能。...原生的JSON优势如下: 存储上类似text,可以存非常大的数据。 存储在JSONJSON文档的自动验证 。无效的文档会产生错误。 优化的存储格式。...存储在JSONJSON文档将 转换为内部格式,以允许对文档元素进行快速读取访问。 相比于传统形式,不需要遍历所有字符串才能找到数据。...NOT NULL, -> -> `skill_info` JSON NOT NULL, -> -> PRIMARY KEY (`empno`)...数据查询方式 在插入了json类型的数据之后,可以针对JSON类型做一些特定的查询,查询年龄大于20的记录 在SQL的语句中使用 字段->.键名 就可以查询出所对应的键值 MySQL [test]>

7K20

Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响

相比于Mysql,Postgresql支持的数据类型更加丰富,其对JSON格式数据的支持也让这个关系型数据库拥有了NoSQL的一些特点。...在Django也支持了Postgresql的数据类型: JSONField ArrayField HStoreField 这三种数据类型因为都是非标量,且都能用JSON来表示,我下文就用JSONField...那么,在JSONField,lookup实际上是没有变的,但是transform从“在外键表查找”,变成了“在JSON对象查找”,所以自然需要重写get_transform函数。...这里原本生成的语句应该是: WHERE (field->'[key_name]') = 'value' 但这里可见,[key_name]位置的json字段名居然是……字符串拼接!...同时,通过Postgresql的一些特性(命令执行方法),即可getshell。

2K32

分布式 PostgreSQL 集群(Citus),分布式表的分布列选择最佳实践

如果您的情况类似于上述任何一种情况,那么下一步就是决定如何在 Citus 集群对数据进行分片。概念部分所述,Citus 根据表分布列的哈希值将表行分配给分片。...您的事实表只能有一个分布 key。在另一个 key 上 join 的表不会与事实表位于同一位置。根据 join 的频率和 join 行的大小,选择一个维度来共同定位。 将一些维度表更改为引用表。...() - interval '1 week' ) recent USING (tenant_id, page_id) WHERE tenant_id = 6 AND path LIKE '/blog%'...相反,我们需要发出两个查询: 跨页表的所有分片(Q1): SELECT page_id FROM page WHERE path LIKE '/blog%' AND tenant_id = 6; 跨事件表的所有分片...,而 PostgreSQL 节点可以在一个步骤回答该查询,从而支持完整的 SQL 支持。

4.3K20
领券