Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.01.2022, 23:04
|
|||
---|---|---|---|
|
|||
Изменить значение из массива в строку в 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. Помогите пожалуйста это исправить и/или упростить запрос. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2022, 09:33
|
|||
---|---|---|---|
|
|||
Изменить значение из массива в строку в jsonb postgreSQL |
|||
#18+
ruslboss, возможно у Вас "attr" не всегда массив, проверьте, например Null Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/moderation_log.php?user_name=Denisiva]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 9495ms |
total: | 9631ms |
0 / 0 |