pgsql
json字段查询
'->':对象取值,
'->>':文本取值
查询文件 i.meta->>'testName' as "文本字段",
查询嵌套 i.meta->'object'->>'id' as "id",
查询字段中的数组是否包含字段值:
示例:字段meta=》 {"service_list": ["oasis", "cmdb"]}
需求,查询service_list中包含oasis的结果:
方案1: AND i.meta -> 'service_list'::text ? 'oasis'
方案2: AND i.meta @> '{"service_list": ["oasis"]}'
删除jsonb和hstore中的某个字段
update <表> set <jsonb字段> = <jsonb字段> -'<key>',<hstore字段>=<hstore字段> - '<key>'::text where <条件1> and <hstore字段> ? '<key>' ;
判断空(不存在属性)
and tag_attr->>'xx' is null
判断不为空
and tag_attr->>'xx' is not null