我想在数据库中输入一些日期/时间。所有文件格式如下:

2015-07-15T05:25:13.292+00:00

我不知道日期的+00:00方面意味着什么,除了00:00之外,似乎没有任何其他值。目前,我有下面的SQL语句来创建表,不过我想找出正确的方法来格式化表和日期的SQL语句。
当前表创建:
CREATE TABLE `bookreservation` (`StartTime` varchar(50) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1;

插入示例:
INSERT INTO `bookreservation` (`StartTime`) VALUES ('2015-07-15T00:00:00.851+00:00');

什么是合适的CREATE TABLE-语句,这将如何更改我的INSERT INTO语句?

最佳答案

似乎+00:00是时区偏移量。如果可以安全地忽略时区偏移量,则可以使用STR_TO_DATE()

STR_TO_DATE('2015-07-15T05:25:13.292+00:00','%Y-%m-%dT%h:%i:%s.%f+00:00')

您可以在INSERT语句中处理此问题:
INSERT INTO `bookreservation` (StartTime)
 VALUES (STR_TO_DATE('2015-07-15T05:25:13.292+00:00','%Y-%m-%dT%h:%i:%s.%f+00:00'));

这将允许您对列使用DATETIME类型:
CREATE TABLE `bookreservation` (`StartTime` DATETIME DEFAULT NULL)

关于mysql - 在数据库中输入日期(phpMyAdmin,SQL),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33476534/

10-12 07:39
查看更多