【发布时间】:2019-09-20 14:07:22
【问题描述】:
我在 sql 中导入 JSON 数据,并希望将人类可读的日期数据转换为 yyyy-mm-dd 格式。
流程如下:
我正在使用/home/name/json_data/sample.json下存储的以下json文件
{
"price": null,
"sale_list": [
{
"buyer": "SmackMe089",
"date": "April 29th 2019 21:20:50",
"id": "1234",
"item_desc": ""
}
}
在mysql中创建表:
CREATE TABLE example_table (
id INT NOT NULL AUTO_INCREMENT,
json_data JSON NOT NULL,
PRIMARY KEY (id)
);
将文件加载到mysql中:
LOAD DATA INFILE '/home/name/json_data/sample.json' INTO TABLE example_table (json_data);
当将数据加载到表中时,可以将日期数据转换为 yyyy-mm-dd?在查询时,我可以为列分配数据类型,但不确定如何正确转换日期数据。这可以在查询期间或导入期间完成吗?
前:
select test.* from example_table,
JSON_TABLE(json_data, '$.sale_list[*]' COLUMNS (
buyer VARCHAR(40) PATH '$.buyer',
date VARCHAR(40) PATH '$.date',
id VARCHAR(40) PATH '$.id',
item_desc VARCHAR(40) PATH '$.item_desc'
) ) test;
【问题讨论】: