我正在为PostgreSQL 9.2中的新JSON函数寻找一些文档和/或示例.
具体来说,给定一系列JSON记录:
[
{name: "Toby", occupation: "Software Engineer"},
{name: "Zaphod", occupation: "Galactic President"}
]
Run Code Online (Sandbox Code Playgroud)
如何编写SQL以按名称查找记录?
在vanilla SQL中:
SELECT * from json_data WHERE "name" = "Toby"
Run Code Online (Sandbox Code Playgroud)
官方开发手册非常稀少:
我已经汇总了详细介绍PostgreSQL 9.2目前可能实现的内容.使用一些自定义函数,可以执行以下操作:
SELECT id, json_string(data,'name') FROM things
WHERE json_string(data,'name') LIKE 'G%';
Run Code Online (Sandbox Code Playgroud)
我现在已将我的JSON函数移动到他们自己的项目中:
PostSQL - 一组用于将PostgreSQL和PL/v8转换为完全令人敬畏的JSON文档存储的函数
我正在 PostgreSql 文档https://www.postgresql.org/docs/13/datatype-json.html上阅读有关 JSON 和 JSONB 数据类型之间的差异的信息。
有这条线
json 数据类型存储输入文本的精确副本,处理函数必须在每次执行时重新解析;而 jsonb 数据以分解的二进制格式存储,由于增加了转换开销,输入速度稍慢,但处理速度明显加快,因为不需要重新解析
我无法理解存储为文本和存储为二进制格式之间有什么区别,字符串本身将存储为 0 和 1 的序列。
有人可以澄清一下吗?另外,它们之间会有尺寸差异吗?