MySQL JSON_OBJECT()日期时间格式

时间:2019-03-14 14:45:58

标签: mysql sql

我通过在选择查询中使用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 列为:

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

我希望以标准 YYYY-MM-DD HH:ii:ss 格式返回日期时间值,且不带结尾的零。

这可能吗?

我已经浏览了JSON_OBJECT文档,但找不到有关此谜的任何线索。我认为使用的格式可能在服务器/数据库设置中的某处定义。对于我而言,理想的解决方案是在各个查询中自行设置所需的格式。

我正在使用: 服务器:MySQL Community Server(GPL) 版本:5.7.24

1 个答案:

答案 0 :(得分:1)

您可以使用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;