Обновление метки времени в jsonb postgres - PullRequest
0 голосов
/ 24 мая 2018

Как я могу обновить метку времени в jsonb до значения функции сейчас ()?

Я пытался сделать SMT вот так

    UPDATE test
    SET column = jsonb_set(column,'{time}',to_char(now(),'some date format'),true)

Я получил ошибку вроде

    'jsonb_set(json,unknown,text,bool) is not available' 

Я думаю, что причина ошибки в том, что значение now () не в одинарных кавычках, потому что этот запрос работает

    UPDATE test
    SET column = jsonb_set(column,'{time}','date with the same date format ',true)

Есть ли какое-нибудь решение?

1 Ответ

0 голосов
/ 24 мая 2018

jsonb_set(json,unknown,text,bool) is not available

PostgreSQL не может найти функцию с этой подписью.Согласно документам , подпись jsonb_set(jsonb, text[], jsonb, boolean).

to_char() возвращает text там, где вам нужно иметь jsonb, и бросок должен выполнить трюк:

jsonb_set(column, '{time}', to_char(now(),'some date format')::jsonb, true)

(Имейте в виду, что ::jsonb ожидает допустимый JSON в качестве ввода, например, " вокруг строк.)

...