【发布时间】:2020-12-09 14:00:35
【问题描述】:
我不知道为什么,但可能 PHP 将我的一些数据作为对象持久化,其中一些作为数组持久化。我的桌子看起来像:
seller_info_address 表:
ID (INT) | address (JSONB) |
------------+--------------------------------------------------|
1 | {"addressLines":{"0":"Technology Park",...},...} |
2 | {"addressLines":["Technology Park",...],...} |
一些地址线是对象:
{
"addressLines": {
"0": "Technology Park",
"1": "Blanchard Road",
"3": "Dublin",
"4": "2"
},
"companyName": "...",
"emailAddress": [],
"...": "..."
}
一些addressLines是数组:
{
"addressLines": [
"Technology Park",
"Blanchard Road",
"Dublin",
"2"
],
"companyName": "...",
"emailAddress": [],
"...": "..."
}
我想用 SQL 查询来平衡数据,但我不知道该怎么做。所有作为对象持久化的addressLines都应该更新为数组形式。
感谢您的帮助,谢谢!
【问题讨论】:
-
我刚刚遇到了同样的问题,来这里是为了清理数据。您的数据有时是数组,有时是对象的原因是因为 php 数组必须基于 0 才能被视为数组。见stackoverflow.com/a/66644255/3790921
标签: sql jsonb postgresql-10