1、SQL+NoSQL=PostgreSQL董旭阳标普信用评级(中国)有限公司 数据库架构师SQL/JSONPostgreSQL/JSON一个案例一个反例CONTENTSQL/JSONSQL/JSONSQL标准定义了JSON数据类型和函数,支持以下JSON功能:JSON对象的存储与检索;JSON对象表示成SQL数据;SQL数据表示成JSON对象。PostgreSQL/JSONJSON数据类型PostgreSQL提供了两种JSON数据类型:JSON以及JSONB。推荐优先选择JSONB数据类型。功能JSONJSONB存储格式字符串原文存储解析后的二进制全文索引不支持支持保留空白符保留不保留保留键的顺
2、序保留不保留保留重复键保留不保留JSON函数构造函数查询函数操作函数 json_object/jsonb_object json_array jsonb_build_object jsonb_build_array to_json/to_jsonb json_objectagg json_arrayagg is not json -、-、#、#、?、?|、?&jsonb_path_query jsonb_extract_path jsonb_extract_path_text jsonb_array_elements jsonb_array_elements_text jsonb_each j
3、sonb_each_text|、-、#-jsonb_insert jsonb_set jsonb_set_lax json_strip_nulls jsonb_strip_nulls JSON函数构造函数SELECT json_object(id:1,name VALUE PostgreSQL);jsonb_object|-+id:1,name:PostgreSQL|SELECT json_array(SQL,PostgreSQL,JSON RETURNING jsonb);json_array|-+SQL,PostgreSQL,JSON|JSON函数构造函数查询函数操作函数 json_obj
4、ect/jsonb_object json_array jsonb_build_object jsonb_build_array to_json/to_jsonb json_objectagg json_arrayagg is not json -、-、#、#、?、?|、?&jsonb_path_query jsonb_extract_path jsonb_extract_path_text jsonb_array_elements jsonb_array_elements_text jsonb_each jsonb_each_text|、-、#-jsonb_insert jsonb_set
5、jsonb_set_lax json_strip_nulls jsonb_strip_nulls JSON函数查询函数SELECT id:1,name:PostgreSQL:jsonb-name;?column?|-+PostgreSQL|SELECT jsonb_path_query(a:1,3,5,7,9,$.a*?(=2&、-、#、#、?、?|、?&jsonb_path_query jsonb_extract_path jsonb_extract_path_text jsonb_array_elements jsonb_array_elements_text jsonb_each jso
6、nb_each_text|、-、#-jsonb_insert jsonb_set jsonb_set_lax json_strip_nulls jsonb_strip_nulls JSON函数操作函数SELECT id:1:jsonb|name:PostgreSQL:jsonb;?column?|-+id:1,name:PostgreSQL|SELECT jsonb_set(id:1,name:PostgreSQL,name,SQL/JSON);jsonb_set|-+id:1,name:SQL/JSON|JSON函数缺少函数 json_exists json_query json_value