MySQL JSON_OBJECT () формат даты и времени - PullRequest
1 голос
/ 14 марта 2019

Я создаю структуру JSON, используя функции JSON_OBJECT и JSON_ARRAY в моем запросе выбора. У меня проблема с форматом, в котором столбцы даты и времени возвращаются в отформатированном результате JSON.

Например, у меня есть таблица заголовки

id (INT), title (VARCHAR), created_at (DATETIME)

и строка будет такой

1,"Title 1","2019-02-03 12:13:14"

Если я сейчас сделаю следующий запрос

SELECT JSON_OBJECT('title',title,'created_at',created_at) AS title_json FROM titles WHERE id = 1;

Я получу результирующий столбец title_json как:

{
    "title": "Title 1",
    "created_at": "2019-02-03 12:13:14.000000"
}

Я хотел бы, чтобы значения даты и времени возвращались в стандартном формате ГГГГ-ММ-ДД ЧЧ: ii: сс без конечных нулей.

Возможно ли это?

Я просмотрел документацию JSON_OBJECT, но не смог найти никаких подсказок к этой загадке. Я думаю, что используемый формат может быть определен где-то в настройках сервера / базы данных. Идеальным решением для моего случая было бы по желанию установить желаемый формат в отдельных запросах.

Я использую: Сервер: MySQL Community Server (GPL) Версия: 5.7.24

1 Ответ

1 голос
/ 14 марта 2019

Вы можете использовать DATE_FORMAT

SELECT JSON_OBJECT('title',title,'created_at',DATE_FORMAT(created_at, "%Y-%c-%d %H:%i:%s")) AS title_json FROM titles WHERE id = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...