我正在通过在选择查询中使用JSON_OBJECT和JSON_ARRAY函数来创建JSON结构。我遇到的问题是在格式的JSON结果中返回DateTime列的格式。
例如,我有一个表标题
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 列AS:
{
"title": "Title 1",
"created_at": "2019-02-03 12:13:14.000000"
}
我想在标准 yyyy-mm-dd hh:ii:ss 格式中返回日期时间值。
这是可能的吗?
我已经浏览了JSON_Object文档,但找不到这个谜的线索。我认为使用的格式可以在服务器/数据库设置中的某个地方定义。我案件的理想解决方案是可以选择将所需格式设置为单个查询本身。
我正在使用:服务器:MySQL社区服务器(GPL)版本:5.7.24
您可以使用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;