USEGEAR

导航

让人纠结的PG字段json类型

PostgreSQL确实牛逼得很。

PostgreSQL有个json数据类型。当你用json类型设定表的字段时,你用select语句相当爽。问题是当你使用中间件时如FireDAC等,进行数据保存时,就会出现啥啥错误operator does not exist:  json=json。数据保存不了,保存数据失败。其实就是在update数据时,类型转换的问题。

这就头大了。如果你有好方法,请告诉我。反正我是头大了。

其实在PostgreSQL中,select 对json的操作非常爽。同时有一个数据类型转换的操作。

SELECT  (
 '[
    {
        "age": "10",
        "name": "jack"
    },
    {
        "age": "20",
        "name": "lucy"
    }
]'::json)->0->'name' "Name"

其结果:
Name
"jack"

咱们换个思路:

把表字段设成text类型,存储json字符串如何?在保存之前要做检查,(如果是json类型,系统会自动检查)如此,如何?

那就这样吧,让我们走吧!

 

posted on 2022-08-20 11:30  USEGEAR  阅读(400)  评论(0编辑  收藏  举报