Удалите значение в кавычках при создании объекта JSON в запросе MySql

0

MySql версия 5.7.12

запрос

SELECT JSON_OBJECT(unix_timestamp(created_time),JSON_OBJECT(status,cast(concat(count(status))as char))) FROM table_name where  status='NEW'  and unix_timestamp(created_time) between 1512543400 and 1532716199 GROUP BY unix_timestamp(created_time);

Результат

+--------------------------------------------------------------------------------------------------+
| JSON_OBJECT(unix_timestamp(created_time),JSON_OBJECT(status,cast(concat(count(status))as char))) |
+--------------------------------------------------------------------------------------------------+
| {"1526447587": {"NEW": "1"}}                                                                     |
| {"1530170666": {"NEW": "1"}}                                                                     |
+--------------------------------------------------------------------------------------------------+

Я хочу, чтобы unquote значение "1", как показано ниже, как это сделать?

{"1526447587": {"NEW": 1}} 
  • 2
    Что произойдет, если вы удалите приведение к JSON_OBJECT(status, count(status)) char , т.е. используете JSON_OBJECT(status, count(status)) ?
Теги:

1 ответ

0
Лучший ответ

Просто удалите бросок на char:

SELECT JSON_OBJECT(UNIX_TIMESTAMP(NOW()), JSON_OBJECT('hello', 312)) AS output
FROM dual

Эти результаты:

{"1532691464": {"hello": 312}}

демонстрация

Ещё вопросы

Сообщество Overcoder
Наверх
Меню