【发布时间】:2019-05-06 12:46:11
【问题描述】:
我正在获取 CSV 数据(来自使用 NPM 请求的 url),我使用 Nodejs 将其上传到 mySQL。此 CSV 数据已 created_at 列的值为“2015-10-19T04:00:00Z”。在 mySQL 中上传时,我想将此列的格式更改为“10/19/2015 4:00:00 AM”。
mySQL 表已创建数据类型为 DATETIME 的_at 列。但是,当我将 '2015-10-19T04:00:00Z' 上传到其中时,它会给出:- 警告消息是:消息:“第 24 行的列 \'created_at\' 的数据被截断”。如何在 NodeJS 的 mySQL 表中插入值之前更改数据格式?
var request = require('request');
var mysql = require('mysql');
var csvParser = require('csv-parse');
request(options, function (error, response, csvbody) { ...
csvParser(csvbody, { delimiter: ','}, function(err, data) { ...
con.query("INSERT INTO ?? VALUES ?", [mySQLTable, data], function(err, result) {...
【问题讨论】:
-
如何将 Zulu 时间转换为 MySQL 可接受的格式stackoverflow.com/questions/21819295/…
-
不要尝试将格式更改为
10/19/2015 4:00:00 AM如果用户希望看到它,您可以在表示层执行此操作。 MySQL Date 和 DateTime 列期望日期和时间采用固定格式yyyy-mm-dd hh:ii:ss -
谢谢。我确实知道在 mySQL 中转换日期格式的方法。但不是在这种特殊情况下。您能否在下面查看我对
Alessandro's建议的回复并为您提供建议。提前致谢! -
@RiggsFolly 添加您的用户名以便您收到通知
-
将
'2015-10-19T04:00:00Z'插入 DATETIME 列应该可以工作!!!您不能将10/19/2015 4:00:00 AM加载到 DATETIME 列中。如果您的用户希望看到日期为10/19/2015 4:00:00 AM,您应该在表示层中执行此操作,而不是像在数据库中那样存储日期和时间