mysql - MySQL JSON_OBJECT() 日期时间格式
问题描述
我正在通过在我的选择查询中使用 JSON_OBJECT 和 JSON_ARRAY 函数来创建 JSON 结构。我遇到的问题是在格式化的 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"
}
我希望以标准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;
推荐阅读
- rendering - 仅使用软件渲染进行编译时,SDL_CreateRenderer 失败
- elm - Elm 中“HTML msg”中的“msg”实际上是什么?
- php - 我如何在 php 中解析这个 json 文件?
- c# - 如何在 QnA 制造商 Bot 中迎接新用户?
- firebase - 为什么firebase不让console.log显示颜色?
- c# - 如何通过使用偏移或拖放来用鼠标选择整行?
- c - 如果我不将 case 0 放在 switch 中,为什么我的代码不起作用
- python - 是否可以使用 Python 从 EventHub 中接收器停止的位置继续读取?
- android - 动态加载 Firestore 和 RecyclerView
- symfony - 如何使用 webpack 正确管理 jquery-ui