|
Изменить значение из массива в строку в jsonb postgreSQL
|
|||
---|---|---|---|
#18+
Добрый день. Есть такой jsonb: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Необходимо найти все записи, в которых существует ключ «attr», найти все ключи «info», которые имеют значение массива, и изменить значение массива на строку. Ожидаемый результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
https://dbfiddle.uk/?rdbms=postgres_13&fiddle=507cd3d8416b5d10288c83c6769d35c4 В этом примере есть скрипт который меняет значения и возвращает нужный результат. Проблема в том, что на локальном postgres(v12,13) скрипт не выполняется, падает ошибка - [22023] ERROR: Can't extract elements from scalar. Помогите пожалуйста это исправить и/или упростить запрос. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2022, 23:04 |
|
Изменить значение из массива в строку в jsonb postgreSQL
|
|||
---|---|---|---|
#18+
ruslboss, возможно у Вас "attr" не всегда массив, проверьте, например Null Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2022, 09:33 |
|
|
start [/forum/topic.php?fid=53&msg=40130105&tid=1993684]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 363ms |
0 / 0 |