MySQL 5.7版本及以上支持存储JSON格式数据,但在查询JSON格式数据时,有时需要将JSON格式化的时间转换为时间戳或指定格式的时间字符串。
对于MySQL中保存的JSON格式时间,可以使用DATE_FORMAT函数将其格式化为指定的时间字符串:
SELECT DATE_FORMAT(JSON_EXTRACT(column_name, '$.time'), '%Y-%m-%d %H:%i:%s') AS time_str FROM table_name;
其中,column_name
为包含JSON形式时间的列名,$
表示JSON根节点,time
为JSON中时间对应的key,%Y-%m-%d %H:%i:%s
为指定的时间格式。
如果需要将JSON格式化的时间转换为时间戳,可以使用UNIX_TIMESTAMP函数:
SELECT UNIX_TIMESTAMP(JSON_EXTRACT(column_name, '$.time')) AS timestamp FROM table_name;
其中,column_name
为包含JSON形式时间的列名,$
表示JSON根节点,time
为JSON中时间对应的key。
需要注意的是,MySQL中JSON类型的数据查询时,需要使用JSON_EXTRACT函数提取数据。在写查询语句时,建议使用预编译语句,避免SQL注入等安全问题。
总之,在使用MySQL存储JSON格式时间时,可以通过以上方法方便地进行格式转换,以满足业务需求。