【问题标题】:MySQL 5.7 JSON automatically formats timeMySQL 5.7 JSON 自动格式化时间
【发布时间】:2017-04-11 11:42:23
【问题描述】:

有人知道为什么函数 JSON_OBJECT 会自动格式化 TIME-data 吗? 当我执行以下操作时:

SELECT
        JSON_OBJECT(
            'Time_Transformed', TIME('11:42:00')
        ) AS myJson,
        TIME('11:42:00') AS `Time_Raw`

结果是:

myJson: {"Time_Transformed": "11:42:00.000000"}
Time_Raw: 11:42:00

【问题讨论】:

  • 你真正想要什么?您想知道为什么会发生这种情况或如何解决这个问题?
  • 我认为这可以回答为什么会这样:stackoverflow.com/a/1488415/6530134
  • @TimothyG。它甚至不是 MySQL。
  • @Ahmad 我想修复它
  • 顺便问一下,好问题。我投了赞成票。

标签: json mysql-5.7


【解决方案1】:

MySQL 可以识别多种格式的 TIME 值。

如果你想省略小数部分,你可以使用这个。

SELECT
    JSON_OBJECT(
        'Time_Transformed',  TIME_FORMAT(TIME('11:42:00'), '%H %i %s')
    ) AS myJson

【讨论】:

  • 有没有办法一开始就阻止 MySQL 这样做?我的意思是格式化只在使用 JSON_OBJECT() 时发生
  • 不知道有没有可能。但是你为什么不使用 TIME_FORMAT() 作为答案呢?
  • 因为我有许多类型为“TIME”的列和值,并且不想搜索其中的每一个
  • 我认为这是唯一可能的解决方案。尝试搜索和替换。
猜你喜欢
  • 1970-01-01
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
相关资源
最近更新 更多